JavaScriptCallFrame.h [plain text]
#pragma once
#include "DebuggerCallFrame.h"
#include "JSCJSValueInlines.h"
#include <wtf/Forward.h>
#include <wtf/RefCounted.h>
#include <wtf/text/TextPosition.h>
namespace Inspector {
class JavaScriptCallFrame : public RefCounted<JavaScriptCallFrame> {
public:
static Ref<JavaScriptCallFrame> create(Ref<JSC::DebuggerCallFrame>&& debuggerCallFrame)
{
return adoptRef(*new JavaScriptCallFrame(WTFMove(debuggerCallFrame)));
}
JavaScriptCallFrame* caller();
intptr_t sourceID() const { return m_debuggerCallFrame->sourceID(); }
const TextPosition position() const { return m_debuggerCallFrame->position(); }
int line() const { return m_debuggerCallFrame->line(); }
int column() const { return m_debuggerCallFrame->column(); }
String functionName() const { return m_debuggerCallFrame->functionName(); }
JSC::DebuggerCallFrame::Type type() const { return m_debuggerCallFrame->type(); }
JSC::DebuggerScope* scopeChain() const { return m_debuggerCallFrame->scope(); }
JSC::JSGlobalObject* vmEntryGlobalObject() const { return m_debuggerCallFrame->vmEntryGlobalObject(); }
bool isTailDeleted() const { return m_debuggerCallFrame->isTailDeleted(); }
JSC::JSValue thisValue() const { return m_debuggerCallFrame->thisValue(); }
JSC::JSValue evaluateWithScopeExtension(const String& script, JSC::JSObject* scopeExtension, NakedPtr<JSC::Exception>& exception) const { return m_debuggerCallFrame->evaluateWithScopeExtension(script, scopeExtension, exception); }
private:
JavaScriptCallFrame(Ref<JSC::DebuggerCallFrame>&&);
Ref<JSC::DebuggerCallFrame> m_debuggerCallFrame;
RefPtr<JavaScriptCallFrame> m_caller;
};
}