84 |
84 |
85 virtual void put(QScriptObject*, JSC::ExecState* exec, |
85 virtual void put(QScriptObject*, JSC::ExecState* exec, |
86 const JSC::Identifier& propertyName, |
86 const JSC::Identifier& propertyName, |
87 JSC::JSValue, JSC::PutPropertySlot&); |
87 JSC::JSValue, JSC::PutPropertySlot&); |
88 virtual bool deleteProperty(QScriptObject*, JSC::ExecState*, |
88 virtual bool deleteProperty(QScriptObject*, JSC::ExecState*, |
89 const JSC::Identifier& propertyName, |
89 const JSC::Identifier& propertyName); |
90 bool checkDontDelete = true); |
|
91 virtual bool getPropertyAttributes(const QScriptObject*, JSC::ExecState*, |
|
92 const JSC::Identifier&, |
|
93 unsigned&) const; |
|
94 virtual void getOwnPropertyNames(QScriptObject*, JSC::ExecState*, |
90 virtual void getOwnPropertyNames(QScriptObject*, JSC::ExecState*, |
95 JSC::PropertyNameArray&, |
91 JSC::PropertyNameArray&, |
96 bool includeNonEnumerable = false); |
92 JSC::EnumerationMode mode = JSC::ExcludeDontEnumProperties); |
97 virtual void markChildren(QScriptObject*, JSC::MarkStack& markStack); |
93 virtual void markChildren(QScriptObject*, JSC::MarkStack& markStack); |
98 virtual bool compareToObject(QScriptObject*, JSC::ExecState*, JSC::JSObject*); |
94 virtual bool compareToObject(QScriptObject*, JSC::ExecState*, JSC::JSObject*); |
99 |
95 |
100 inline QObject *value() const { return data->value; } |
96 inline QObject *value() const { return data->value; } |
101 inline void setValue(QObject* value) { data->value = value; } |
97 inline void setValue(QObject* value) { data->value = value; } |
210 const QMetaObject *metaObject() const; |
206 const QMetaObject *metaObject() const; |
211 int initialIndex() const; |
207 int initialIndex() const; |
212 bool maybeOverloaded() const; |
208 bool maybeOverloaded() const; |
213 int mostGeneralMethod(QMetaMethod *out = 0) const; |
209 int mostGeneralMethod(QMetaMethod *out = 0) const; |
214 QList<int> overloadedIndexes() const; |
210 QList<int> overloadedIndexes() const; |
215 QString functionName() const; |
|
216 |
211 |
217 private: |
212 private: |
218 Data *data; |
213 Data *data; |
219 }; |
214 }; |
220 |
215 |
274 ~QMetaObjectWrapperObject(); |
269 ~QMetaObjectWrapperObject(); |
275 |
270 |
276 virtual bool getOwnPropertySlot(JSC::ExecState*, |
271 virtual bool getOwnPropertySlot(JSC::ExecState*, |
277 const JSC::Identifier& propertyName, |
272 const JSC::Identifier& propertyName, |
278 JSC::PropertySlot&); |
273 JSC::PropertySlot&); |
|
274 virtual bool getOwnPropertyDescriptor(JSC::ExecState*, |
|
275 const JSC::Identifier& propertyName, |
|
276 JSC::PropertyDescriptor&); |
279 virtual void put(JSC::ExecState* exec, const JSC::Identifier& propertyName, |
277 virtual void put(JSC::ExecState* exec, const JSC::Identifier& propertyName, |
280 JSC::JSValue, JSC::PutPropertySlot&); |
278 JSC::JSValue, JSC::PutPropertySlot&); |
281 virtual bool deleteProperty(JSC::ExecState*, |
279 virtual bool deleteProperty(JSC::ExecState*, |
282 const JSC::Identifier& propertyName, |
280 const JSC::Identifier& propertyName); |
283 bool checkDontDelete = true); |
|
284 virtual bool getPropertyAttributes(JSC::ExecState*, const JSC::Identifier&, |
|
285 unsigned&) const; |
|
286 virtual void getOwnPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&, |
281 virtual void getOwnPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&, |
287 bool includeNonEnumerable = false); |
282 JSC::EnumerationMode mode = JSC::ExcludeDontEnumProperties); |
288 virtual void markChildren(JSC::MarkStack& markStack); |
283 virtual void markChildren(JSC::MarkStack& markStack); |
289 |
284 |
290 virtual JSC::CallType getCallData(JSC::CallData&); |
285 virtual JSC::CallType getCallData(JSC::CallData&); |
291 virtual JSC::ConstructType getConstructData(JSC::ConstructData&); |
286 virtual JSC::ConstructType getConstructData(JSC::ConstructData&); |
292 |
287 |
302 inline const QMetaObject *value() const { return data->value; } |
297 inline const QMetaObject *value() const { return data->value; } |
303 inline void setValue(const QMetaObject* value) { data->value = value; } |
298 inline void setValue(const QMetaObject* value) { data->value = value; } |
304 |
299 |
305 static WTF::PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype) |
300 static WTF::PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype) |
306 { |
301 { |
307 return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::ImplementsHasInstance)); |
302 return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags)); |
308 } |
303 } |
309 |
304 |
310 protected: |
305 protected: |
|
306 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::OverridesMarkChildren | JSC::OverridesGetPropertyNames | JSC::ImplementsHasInstance | JSObject::StructureFlags; |
|
307 |
311 Data *data; |
308 Data *data; |
312 }; |
309 }; |
313 |
310 |
314 class QMetaObjectPrototype : public QMetaObjectWrapperObject |
311 class QMetaObjectPrototype : public QMetaObjectWrapperObject |
315 { |
312 { |