#ifndef SavedBuiltins_H
#define SavedBuiltins_H
namespace KJS {
class SavedBuiltinsInternal;
class SavedBuiltins {
friend class Interpreter;
public:
SavedBuiltins();
~SavedBuiltins();
private:
SavedBuiltinsInternal *_internal;
};
class SavedBuiltinsInternal {
friend class Interpreter;
private:
ProtectedPtr<JSObject> m_Object;
ProtectedPtr<JSObject> m_Function;
ProtectedPtr<JSObject> m_Array;
ProtectedPtr<JSObject> m_Boolean;
ProtectedPtr<JSObject> m_String;
ProtectedPtr<JSObject> m_Number;
ProtectedPtr<JSObject> m_Date;
ProtectedPtr<JSObject> m_RegExp;
ProtectedPtr<JSObject> m_Error;
ProtectedPtr<JSObject> m_ObjectPrototype;
ProtectedPtr<JSObject> m_FunctionPrototype;
ProtectedPtr<JSObject> m_ArrayPrototype;
ProtectedPtr<JSObject> m_BooleanPrototype;
ProtectedPtr<JSObject> m_StringPrototype;
ProtectedPtr<JSObject> m_NumberPrototype;
ProtectedPtr<JSObject> m_DatePrototype;
ProtectedPtr<JSObject> m_RegExpPrototype;
ProtectedPtr<JSObject> m_ErrorPrototype;
ProtectedPtr<JSObject> m_EvalError;
ProtectedPtr<JSObject> m_RangeError;
ProtectedPtr<JSObject> m_ReferenceError;
ProtectedPtr<JSObject> m_SyntaxError;
ProtectedPtr<JSObject> m_TypeError;
ProtectedPtr<JSObject> m_UriError;
ProtectedPtr<JSObject> m_EvalErrorPrototype;
ProtectedPtr<JSObject> m_RangeErrorPrototype;
ProtectedPtr<JSObject> m_ReferenceErrorPrototype;
ProtectedPtr<JSObject> m_SyntaxErrorPrototype;
ProtectedPtr<JSObject> m_TypeErrorPrototype;
ProtectedPtr<JSObject> m_UriErrorPrototype;
};
}
#endif // SavedBuiltins_H