src/script/api/qscriptvalue_p.h
branchGCC_SURGE
changeset 31 5daf16870df6
parent 30 5dc02b23752f
child 37 758a864f9613
equal deleted inserted replaced
27:93b982ccede2 31:5daf16870df6
    67     inline void initFrom(const QString &value);
    67     inline void initFrom(const QString &value);
    68 
    68 
    69     inline bool isJSC() const;
    69     inline bool isJSC() const;
    70     inline bool isObject() const;
    70     inline bool isObject() const;
    71 
    71 
    72     QVariant &variantValue() const;
       
    73     void setVariantValue(const QVariant &value);
       
    74 
       
    75     static inline QScriptValuePrivate *get(const QScriptValue &q)
    72     static inline QScriptValuePrivate *get(const QScriptValue &q)
    76     {
    73     {
    77         return q.d_ptr.data();
    74         return q.d_ptr.data();
    78     }
    75     }
    79 
    76 
    87         if (!q.d_ptr)
    84         if (!q.d_ptr)
    88             return 0;
    85             return 0;
    89         return q.d_ptr->engine;
    86         return q.d_ptr->engine;
    90     }
    87     }
    91 
    88 
    92     inline QScriptValue property(const JSC::Identifier &id, int resolveMode) const;
    89     inline JSC::JSValue property(const JSC::Identifier &id,
    93     QScriptValue propertyHelper(const JSC::Identifier &id, int resolveMode) const;
    90                                  const QScriptValue::ResolveFlags &mode = QScriptValue::ResolvePrototype) const;
    94     inline QScriptValue property(quint32 index, int resolveMode) const;
    91     inline JSC::JSValue property(quint32 index, const QScriptValue::ResolveFlags &mode = QScriptValue::ResolvePrototype) const;
    95     QScriptValue propertyHelper(quint32, int resolveMode) const;
    92     inline JSC::JSValue property(const JSC::UString &, const QScriptValue::ResolveFlags &mode = QScriptValue::ResolvePrototype) const;
    96     inline QScriptValue property(const QString &, int resolveMode) const;
    93     inline void setProperty(const JSC::UString &name, const JSC::JSValue &value,
    97     void setProperty(const JSC::Identifier &id, const QScriptValue &value,
    94                             const QScriptValue::PropertyFlags &flags = QScriptValue::KeepExistingFlags);
    98                      const QScriptValue::PropertyFlags &flags);
    95     inline void setProperty(const JSC::Identifier &id, const JSC::JSValue &value,
    99     QScriptValue::PropertyFlags propertyFlags(
    96                             const QScriptValue::PropertyFlags &flags = QScriptValue::KeepExistingFlags);
   100         const JSC::Identifier &id, const QScriptValue::ResolveFlags &mode) const;
    97     inline void setProperty(quint32 index, const JSC::JSValue &value,
       
    98                             const QScriptValue::PropertyFlags &flags = QScriptValue::KeepExistingFlags);
       
    99     inline QScriptValue::PropertyFlags propertyFlags(
       
   100         const JSC::Identifier &id, const QScriptValue::ResolveFlags &mode = QScriptValue::ResolvePrototype) const;
   101 
   101 
   102     void detachFromEngine();
   102     void detachFromEngine();
   103 
   103 
   104     qint64 objectId()
   104     qint64 objectId()
   105     {
   105     {
   106         if ( (type == JavaScriptCore) && (engine) )
   106         if ( (type == JavaScriptCore) && (engine) )
   107             return (qint64)jscValue.asCell();
   107             return (qint64)jscValue.asCell();
   108         else
   108         else
   109             return -1;
   109             return -1;
   110     }
   110     }
   111 
       
   112     static inline void saveException(JSC::ExecState*, JSC::JSValue*);
       
   113     static inline void restoreException(JSC::ExecState*, JSC::JSValue);
       
   114 
   111 
   115     QScriptEnginePrivate *engine;
   112     QScriptEnginePrivate *engine;
   116     Type type;
   113     Type type;
   117     JSC::JSValue jscValue;
   114     JSC::JSValue jscValue;
   118     qsreal numberValue;
   115     qsreal numberValue;