5#ifndef V8_V8_INSPECTOR_H_ 
    6#define V8_V8_INSPECTOR_H_ 
   52  StringView() : m_is8Bit(true), m_length(0), m_characters8(nullptr) {}
 
   55      : m_is8Bit(true), m_length(length), m_characters8(characters) {}
 
   58      : m_is8Bit(false), m_length(length), m_characters16(characters) {}
 
   60  bool is8Bit()
 const { 
return m_is8Bit; }
 
   61  size_t length()
 const { 
return m_length; }
 
   90        contextGroupId(contextGroupId),
 
   91        humanReadableName(humanReadableName),
 
   92        hasMemoryOnConsole(false) {}
 
  106  void* 
operator new(size_t) = 
delete;
 
  108  void* 
operator new(size_t, 
void*) = 
delete;
 
  127  std::pair<int64_t, int64_t> 
pair() 
const;
 
  130  friend class internal::V8DebuggerId;
 
  134  int64_t m_second = 0;
 
  155  virtual std::unique_ptr<protocol::Runtime::API::StackTrace>
 
  157  virtual std::unique_ptr<StringBuffer> 
toString() 
const = 0;
 
  160  virtual std::unique_ptr<V8StackTrace> 
clone() = 0;
 
  162  virtual std::vector<V8StackFrame> 
frames() 
const = 0;
 
  180  virtual std::vector<uint8_t> 
state() = 0;
 
  181  virtual std::vector<std::unique_ptr<protocol::Schema::API::Domain>>
 
  191  virtual void resume(
bool setTerminateOnResume = 
false) = 0;
 
  193  virtual std::vector<std::unique_ptr<protocol::Debugger::API::SearchMatch>>
 
  198  virtual std::unique_ptr<protocol::Runtime::API::RemoteObject> 
wrapObject(
 
  200      bool generatePreview) = 0;
 
  205                            std::unique_ptr<StringBuffer>* objectGroup) = 0;
 
  223                                  bool includeCommandLineAPI = 
false) = 0;
 
  232      : type(std::move(type)), value(value) {}
 
  233  std::unique_ptr<StringBuffer> 
type;
 
  239      std::unique_ptr<DeepSerializedValue> serializedValue)
 
  240      : serializedValue(std::move(serializedValue)), isSuccess(true) {}
 
  242      : errorMessage(std::move(errorMessage)), isSuccess(false) {}
 
  256    runMessageLoopOnPause(contextGroupId);
 
  282      int contextGroupId) {
 
  305  typedef void (*TimerCallback)(
void*);
 
  334  bool should_pause = 
false;
 
  346  bool IsInvalid() const;
 
  382                                   unsigned lineNumber, 
unsigned columnNumber,
 
  383                                   std::unique_ptr<V8StackTrace>,
 
  397                              std::unique_ptr<StringBuffer> message) = 0;
 
  404  virtual std::unique_ptr<V8InspectorSession> 
connect(
 
virtual StringView string() const =0
 
virtual ~StringBuffer()=default
 
static std::unique_ptr< StringBuffer > create(StringView)
 
const uint8_t * m_characters8
 
StringView(const uint8_t *characters, size_t length)
 
const uint16_t * characters16() const
 
const uint8_t * characters8() const
 
const uint16_t * m_characters16
 
StringView(const uint16_t *characters, size_t length)
 
V8ContextInfo(v8::Local< v8::Context > context, int contextGroupId, StringView humanReadableName)
 
V8ContextInfo(const V8ContextInfo &)=delete
 
static int executionContextId(v8::Local< v8::Context > context)
 
v8::Local< v8::Context > context
 
V8ContextInfo & operator=(const V8ContextInfo &)=delete
 
StringView humanReadableName
 
V8DebuggerId(const V8DebuggerId &)=default
 
V8DebuggerId & operator=(const V8DebuggerId &)=default
 
std::pair< int64_t, int64_t > pair() const
 
std::unique_ptr< StringBuffer > toString() const
 
virtual void flushProtocolNotifications()=0
 
virtual ~Channel()=default
 
virtual void sendResponse(int callId, std::unique_ptr< StringBuffer > message)=0
 
virtual void sendNotification(std::unique_ptr< StringBuffer > message)=0
 
virtual void runIfWaitingForDebugger(int contextGroupId)
 
virtual bool isInspectableHeapObject(v8::Local< v8::Object >)
 
virtual void consoleAPIMessage(int contextGroupId, v8::Isolate::MessageErrorLevel level, const StringView &message, const StringView &url, unsigned lineNumber, unsigned columnNumber, V8StackTrace *)
 
virtual void endUserGesture()
 
virtual ~V8InspectorClient()=default
 
virtual std::unique_ptr< DeepSerializationResult > deepSerialize(v8::Local< v8::Value > v8Value, int maxDepth, v8::Local< v8::Object > additionalParameters)
 
virtual void installAdditionalCommandLineAPI(v8::Local< v8::Context >, v8::Local< v8::Object >)
 
virtual std::unique_ptr< StringBuffer > descriptionForValueSubtype(v8::Local< v8::Context >, v8::Local< v8::Value >)
 
virtual void consoleTime(const StringView &title)
 
virtual int64_t generateUniqueId()
 
virtual void consoleTimeEnd(const StringView &title)
 
virtual double currentTimeMS()
 
virtual void endEnsureAllContextsInGroup(int contextGroupId)
 
virtual void cancelTimer(void *data)
 
virtual void beginUserGesture()
 
virtual void startRepeatingTimer(double, TimerCallback, void *data)
 
virtual void runMessageLoopOnInstrumentationPause(int contextGroupId)
 
virtual std::unique_ptr< StringBuffer > valueSubtype(v8::Local< v8::Value >)
 
virtual v8::MaybeLocal< v8::Value > memoryInfo(v8::Isolate *, v8::Local< v8::Context >)
 
virtual void beginEnsureAllContextsInGroup(int contextGroupId)
 
virtual void consoleTimeStamp(const StringView &title)
 
virtual void unmuteMetrics(int contextGroupId)
 
virtual void maxAsyncCallStackDepthChanged(int depth)
 
virtual v8::Local< v8::Context > ensureDefaultContextInGroup(int contextGroupId)
 
virtual bool canExecuteScripts(int contextGroupId)
 
virtual std::unique_ptr< StringBuffer > resourceNameToUrl(const StringView &resourceName)
 
virtual void consoleClear(int contextGroupId)
 
virtual void runMessageLoopOnPause(int contextGroupId)
 
virtual void quitMessageLoopOnPause()
 
virtual void dispatchError(v8::Local< v8::Context >, v8::Local< v8::Message >, v8::Local< v8::Value >)
 
virtual void muteMetrics(int contextGroupId)
 
virtual void asyncTaskStarted(void *task)=0
 
virtual void asyncTaskCanceled(void *task)=0
 
virtual void contextCreated(const V8ContextInfo &)=0
 
virtual void idleFinished()=0
 
virtual void contextDestroyed(v8::Local< v8::Context >)=0
 
virtual v8::MaybeLocal< v8::Context > contextById(int contextId)=0
 
virtual std::unique_ptr< V8StackTrace > createStackTrace(v8::Local< v8::StackTrace >)=0
 
virtual void exceptionRevoked(v8::Local< v8::Context >, unsigned exceptionId, StringView message)=0
 
virtual std::unique_ptr< V8InspectorSession > connect(int contextGroupId, Channel *, StringView state, ClientTrustLevel client_trust_level, SessionPauseState=kNotWaitingForDebugger)
 
virtual V8DebuggerId uniqueDebuggerId(int contextId)=0
 
virtual void externalAsyncTaskStarted(const V8StackTraceId &parent)=0
 
virtual unsigned exceptionThrown(v8::Local< v8::Context >, StringView message, v8::Local< v8::Value > exception, StringView detailedMessage, StringView url, unsigned lineNumber, unsigned columnNumber, std::unique_ptr< V8StackTrace >, int scriptId)=0
 
virtual void idleStarted()=0
 
virtual ~V8Inspector()=default
 
virtual void allAsyncTasksCanceled()=0
 
virtual void resetContextGroup(int contextGroupId)=0
 
virtual void asyncTaskScheduled(StringView taskName, void *task, bool recurring)=0
 
virtual V8StackTraceId storeCurrentStackTrace(StringView description)=0
 
virtual void externalAsyncTaskFinished(const V8StackTraceId &parent)=0
 
static std::unique_ptr< V8Inspector > create(v8::Isolate *, V8InspectorClient *)
 
virtual bool associateExceptionData(v8::Local< v8::Context >, v8::Local< v8::Value > exception, v8::Local< v8::Name > key, v8::Local< v8::Value > value)=0
 
virtual std::unique_ptr< V8StackTrace > captureStackTrace(bool fullStack)=0
 
virtual void asyncTaskFinished(void *task)=0
 
virtual ~Inspectable()=default
 
virtual v8::Local< v8::Value > get(v8::Local< v8::Context >)=0
 
virtual void dispatchProtocolMessage(StringView message)=0
 
virtual std::vector< std::unique_ptr< protocol::Schema::API::Domain > > supportedDomains()=0
 
virtual void setSkipAllPauses(bool)=0
 
virtual void triggerPreciseCoverageDeltaUpdate(StringView occasion)=0
 
virtual void stepOver()=0
 
virtual EvaluateResult evaluate(v8::Local< v8::Context > context, StringView expression, bool includeCommandLineAPI=false)=0
 
virtual void breakProgram(StringView breakReason, StringView breakDetails)=0
 
virtual std::vector< uint8_t > state()=0
 
virtual void cancelPauseOnNextStatement()=0
 
virtual void addInspectedObject(std::unique_ptr< Inspectable >)=0
 
virtual void releaseObjectGroup(StringView)=0
 
virtual std::unique_ptr< protocol::Runtime::API::RemoteObject > wrapObject(v8::Local< v8::Context >, v8::Local< v8::Value >, StringView groupName, bool generatePreview)=0
 
virtual ~V8InspectorSession()=default
 
virtual std::vector< std::unique_ptr< protocol::Debugger::API::SearchMatch > > searchInTextByLines(StringView text, StringView query, bool caseSensitive, bool isRegex)=0
 
virtual bool unwrapObject(std::unique_ptr< StringBuffer > *error, StringView objectId, v8::Local< v8::Value > *, v8::Local< v8::Context > *, std::unique_ptr< StringBuffer > *objectGroup)=0
 
virtual void schedulePauseOnNextStatement(StringView breakReason, StringView breakDetails)=0
 
static bool canDispatchMethod(StringView method)
 
virtual void resume(bool setTerminateOnResume=false)=0
 
virtual StringView topFunctionName() const =0
 
virtual bool isEmpty() const =0
 
virtual StringView firstNonEmptySourceURL() const =0
 
virtual ~V8StackTrace()=default
 
virtual std::unique_ptr< protocol::Runtime::API::StackTrace > buildInspectorObject(int maxAsyncDepth) const =0
 
virtual int topLineNumber() const =0
 
virtual int topColumnNumber() const =0
 
virtual StringView topSourceURL() const =0
 
virtual std::unique_ptr< V8StackTrace > clone()=0
 
virtual std::unique_ptr< StringBuffer > toString() const =0
 
virtual int topScriptId() const =0
 
virtual std::vector< V8StackFrame > frames() const =0
 
std::unique_ptr< StringBuffer > errorMessage
 
DeepSerializationResult(std::unique_ptr< StringBuffer > errorMessage)
 
std::unique_ptr< DeepSerializedValue > serializedValue
 
DeepSerializationResult(std::unique_ptr< DeepSerializedValue > serializedValue)
 
std::unique_ptr< StringBuffer > type
 
DeepSerializedValue(std::unique_ptr< StringBuffer > type, v8::MaybeLocal< v8::Value > value={})
 
v8::MaybeLocal< v8::Value > value
 
v8::Local< v8::Value > value
 
V8StackTraceId(uintptr_t id, const std::pair< int64_t, int64_t > debugger_id, bool should_pause)
 
V8StackTraceId(const V8StackTraceId &)=default
 
std::pair< int64_t, int64_t > debugger_id
 
V8StackTraceId & operator=(const V8StackTraceId &)=default
 
V8StackTraceId(StringView)
 
V8StackTraceId & operator=(V8StackTraceId &&) noexcept=default
 
V8StackTraceId(uintptr_t id, const std::pair< int64_t, int64_t > debugger_id)