X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/9dae56ea45a0f5f8136a5c93d6f3a7f99399ca73..14957cd040308e3eeec43d26bae5d76da13fcd85:/runtime/GetterSetter.cpp diff --git a/runtime/GetterSetter.cpp b/runtime/GetterSetter.cpp index 39ee6fc..04193ea 100644 --- a/runtime/GetterSetter.cpp +++ b/runtime/GetterSetter.cpp @@ -1,7 +1,7 @@ /* * Copyright (C) 1999-2002 Harri Porten (porten@kde.org) * Copyright (C) 2001 Peter Kelly (pmk@post.com) - * Copyright (C) 2004, 2007, 2008 Apple Inc. All rights reserved. + * Copyright (C) 2004, 2007, 2008, 2009 Apple Inc. All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -28,52 +28,18 @@ namespace JSC { -void GetterSetter::mark() -{ - JSCell::mark(); - - if (m_getter && !m_getter->marked()) - m_getter->mark(); - if (m_setter && !m_setter->marked()) - m_setter->mark(); -} - -JSValuePtr GetterSetter::toPrimitive(ExecState*, PreferredPrimitiveType) const -{ - ASSERT_NOT_REACHED(); - return jsNull(); -} - -bool GetterSetter::getPrimitiveNumber(ExecState*, double& number, JSValuePtr& value) -{ - ASSERT_NOT_REACHED(); - number = 0; - value = noValue(); - return true; -} +const ClassInfo GetterSetter::s_info = { "GetterSetter", 0, 0, 0 }; -bool GetterSetter::toBoolean(ExecState*) const +void GetterSetter::visitChildren(SlotVisitor& visitor) { - ASSERT_NOT_REACHED(); - return false; -} - -double GetterSetter::toNumber(ExecState*) const -{ - ASSERT_NOT_REACHED(); - return 0.0; -} + ASSERT_GC_OBJECT_INHERITS(this, &s_info); + ASSERT(structure()->typeInfo().overridesVisitChildren()); + JSCell::visitChildren(visitor); -UString GetterSetter::toString(ExecState*) const -{ - ASSERT_NOT_REACHED(); - return UString::null(); -} - -JSObject* GetterSetter::toObject(ExecState* exec) const -{ - ASSERT_NOT_REACHED(); - return jsNull().toObject(exec); + if (m_getter) + visitor.append(&m_getter); + if (m_setter) + visitor.append(&m_setter); } bool GetterSetter::isGetterSetter() const