void JSTestNode::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSTestNode* thisObject = jsCast<JSTestNode*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); Base::visitChildren(thisObject, visitor); thisObject->impl().visitJSEventListeners(visitor); }
void JSTestNode::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSTestNode* thisObject = jsCast<JSTestNode*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); thisObject->impl()->visitJSEventListeners(visitor); }
EncodedJSValue jsTestNodeName(ExecState* state, JSObject* slotBase, EncodedJSValue thisValue, PropertyName) { UNUSED_PARAM(state); UNUSED_PARAM(slotBase); UNUSED_PARAM(thisValue); JSTestNode* castedThis = jsDynamicCast<JSTestNode*>(JSValue::decode(thisValue)); if (UNLIKELY(!castedThis)) { if (jsDynamicCast<JSTestNodePrototype*>(slotBase)) return reportDeprecatedGetterError(*state, "TestNode", "name"); return throwGetterTypeError(*state, "TestNode", "name"); } auto& impl = castedThis->impl(); JSValue result = jsStringWithCache(state, impl.name()); return JSValue::encode(result); }
void setJSTestNodeName(ExecState* state, JSObject* baseObject, EncodedJSValue thisValue, EncodedJSValue encodedValue) { JSValue value = JSValue::decode(encodedValue); UNUSED_PARAM(baseObject); JSTestNode* castedThis = jsDynamicCast<JSTestNode*>(JSValue::decode(thisValue)); if (UNLIKELY(!castedThis)) { if (jsDynamicCast<JSTestNodePrototype*>(JSValue::decode(thisValue))) reportDeprecatedSetterError(*state, "TestNode", "name"); else throwSetterTypeError(*state, "TestNode", "name"); return; } auto& impl = castedThis->impl(); String nativeValue = value.toString(state)->value(state); if (UNLIKELY(state->hadException())) return; impl.setName(nativeValue); }