/*
* 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
#ifndef Debugger_h
#define Debugger_h
-#include "Protect.h"
+#include <wtf/HashSet.h>
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<JSGlobalObject*> 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