#ifndef SavedBuiltins_H
#define SavedBuiltins_H
#include "protect.h"
namespace KJS {
class SavedBuiltinsInternal;
class SavedBuiltins {
friend class Interpreter;
public:
SavedBuiltins();
~SavedBuiltins();
private:
SavedBuiltinsInternal *_internal;
};
class SavedBuiltinsInternal {
friend class Interpreter;
private:
ProtectedPtr<ObjectObjectImp> m_Object;
ProtectedPtr<FunctionObjectImp> m_Function;
ProtectedPtr<ArrayObjectImp> m_Array;
ProtectedPtr<BooleanObjectImp> m_Boolean;
ProtectedPtr<StringObjectImp> m_String;
ProtectedPtr<NumberObjectImp> m_Number;
ProtectedPtr<DateObjectImp> m_Date;
ProtectedPtr<RegExpObjectImp> m_RegExp;
ProtectedPtr<ErrorObjectImp> m_Error;
ProtectedPtr<ObjectPrototype> m_ObjectPrototype;
ProtectedPtr<FunctionPrototype> m_FunctionPrototype;
ProtectedPtr<ArrayPrototype> m_ArrayPrototype;
ProtectedPtr<BooleanPrototype> m_BooleanPrototype;
ProtectedPtr<StringPrototype> m_StringPrototype;
ProtectedPtr<NumberPrototype> m_NumberPrototype;
ProtectedPtr<DatePrototype> m_DatePrototype;
ProtectedPtr<RegExpPrototype> m_RegExpPrototype;
ProtectedPtr<ErrorPrototype> m_ErrorPrototype;
ProtectedPtr<NativeErrorImp> m_EvalError;
ProtectedPtr<NativeErrorImp> m_RangeError;
ProtectedPtr<NativeErrorImp> m_ReferenceError;
ProtectedPtr<NativeErrorImp> m_SyntaxError;
ProtectedPtr<NativeErrorImp> m_TypeError;
ProtectedPtr<NativeErrorImp> m_UriError;
ProtectedPtr<NativeErrorPrototype> m_EvalErrorPrototype;
ProtectedPtr<NativeErrorPrototype> m_RangeErrorPrototype;
ProtectedPtr<NativeErrorPrototype> m_ReferenceErrorPrototype;
ProtectedPtr<NativeErrorPrototype> m_SyntaxErrorPrototype;
ProtectedPtr<NativeErrorPrototype> m_TypeErrorPrototype;
ProtectedPtr<NativeErrorPrototype> m_UriErrorPrototype;
};
}
#endif // SavedBuiltins_H