X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/9dae56ea45a0f5f8136a5c93d6f3a7f99399ca73..217a6308cd6a1dc049a0bb69263bd4c91f91c4d0:/debugger/Debugger.h diff --git a/debugger/Debugger.h b/debugger/Debugger.h index 0559898..95dd62b 100644 --- a/debugger/Debugger.h +++ b/debugger/Debugger.h @@ -1,7 +1,7 @@ /* * Copyright (C) 1999-2001 Harri Porten (porten@kde.org) * Copyright (C) 2001 Peter Kelly (pmk@post.com) - * Copyright (C) 2008 Apple Inc. All rights reserved. + * Copyright (C) 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 Lesser General Public @@ -22,41 +22,44 @@ #ifndef Debugger_h #define Debugger_h -#include "Protect.h" +#include namespace JSC { class DebuggerCallFrame; class ExecState; + class VM; class JSGlobalObject; - class SourceCode; - class UString; + class JSValue; + class SourceProvider; - class Debugger { + class JS_EXPORT_PRIVATE Debugger { public: - Debugger(); virtual ~Debugger(); void attach(JSGlobalObject*); - void detach(JSGlobalObject*); + virtual void detach(JSGlobalObject*); - virtual void sourceParsed(ExecState*, const SourceCode&, int errorLine, const UString& errorMsg) = 0; - virtual void exception(const DebuggerCallFrame&, intptr_t sourceID, int lineno) = 0; - virtual void atStatement(const DebuggerCallFrame&, intptr_t sourceID, int lineno) = 0; - virtual void callEvent(const DebuggerCallFrame&, intptr_t sourceID, int lineno) = 0; - virtual void returnEvent(const DebuggerCallFrame&, intptr_t sourceID, int lineno) = 0; + virtual void sourceParsed(ExecState*, SourceProvider*, int errorLineNumber, const WTF::String& errorMessage) = 0; - virtual void willExecuteProgram(const DebuggerCallFrame&, intptr_t sourceID, int lineno) = 0; - virtual void didExecuteProgram(const DebuggerCallFrame&, intptr_t sourceID, int lineno) = 0; - virtual void didReachBreakpoint(const DebuggerCallFrame&, intptr_t sourceID, int lineno) = 0; + virtual void exception(const DebuggerCallFrame&, intptr_t, int, int, bool) = 0; + virtual void atStatement(const DebuggerCallFrame&, intptr_t, int, int) = 0; + virtual void callEvent(const DebuggerCallFrame&, intptr_t, int, int) = 0; + virtual void returnEvent(const DebuggerCallFrame&, intptr_t, int, int) = 0; + + virtual void willExecuteProgram(const DebuggerCallFrame&, intptr_t, int, int) = 0; + virtual void didExecuteProgram(const DebuggerCallFrame&, intptr_t, int, int) = 0; + virtual void didReachBreakpoint(const DebuggerCallFrame&, intptr_t, int, int) = 0; + + + void recompileAllJSFunctions(VM*); private: HashSet m_globalObjects; }; - // This method exists only for backwards compatibility with existing - // WebScriptDebugger clients - JSValuePtr evaluateInGlobalCallFrame(const UString&, JSValuePtr& exception, JSGlobalObject*); + // This function exists only for backwards compatibility with existing WebScriptDebugger clients. + JS_EXPORT_PRIVATE JSValue evaluateInGlobalCallFrame(const WTF::String&, JSValue& exception, JSGlobalObject*); } // namespace JSC