V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
interface-types.h
1 // Copyright 2016 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef V8_DEBUG_INTERFACE_TYPES_H_
6 #define V8_DEBUG_INTERFACE_TYPES_H_
7 
8 #include <cstdint>
9 #include <string>
10 #include <vector>
11 
12 #include "include/v8.h"
13 #include "src/globals.h"
14 
15 namespace v8 {
16 
17 namespace internal {
18 class BuiltinArguments;
19 } // internal
20 
21 namespace debug {
22 
27 class V8_EXPORT_PRIVATE Location {
28  public:
29  Location(int line_number, int column_number);
33  Location();
34 
35  int GetLineNumber() const;
36  int GetColumnNumber() const;
37  bool IsEmpty() const;
38 
39  private:
40  int line_number_;
41  int column_number_;
42  bool is_empty_;
43 };
44 
53  WasmDisassemblyOffsetTableEntry(uint32_t byte_offset, int line, int column)
54  : byte_offset(byte_offset), line(line), column(column) {}
55 
56  uint32_t byte_offset;
57  int line;
58  int column;
59 };
60 
62  using OffsetTable = std::vector<WasmDisassemblyOffsetTableEntry>;
63  WasmDisassembly() = default;
64  WasmDisassembly(std::string disassembly, OffsetTable offset_table)
65  : disassembly(std::move(disassembly)),
66  offset_table(std::move(offset_table)) {}
67 
68  std::string disassembly;
69  OffsetTable offset_table;
70 };
71 
72 enum DebugAsyncActionType {
73  kDebugPromiseThen,
74  kDebugPromiseCatch,
75  kDebugPromiseFinally,
76  kDebugWillHandle,
77  kDebugDidHandle,
78  kAsyncFunctionSuspended,
79  kAsyncFunctionFinished
80 };
81 
82 enum BreakLocationType {
83  kCallBreakLocation,
84  kReturnBreakLocation,
85  kDebuggerStatementBreakLocation,
86  kCommonBreakLocation
87 };
88 
89 class V8_EXPORT_PRIVATE BreakLocation : public Location {
90  public:
91  BreakLocation(int line_number, int column_number, BreakLocationType type)
92  : Location(line_number, column_number), type_(type) {}
93 
94  BreakLocationType type() const { return type_; }
95 
96  private:
97  BreakLocationType type_;
98 };
99 
100 class ConsoleCallArguments : private v8::FunctionCallbackInfo<v8::Value> {
101  public:
102  int Length() const { return v8::FunctionCallbackInfo<v8::Value>::Length(); }
103  V8_INLINE Local<Value> operator[](int i) const {
105  }
106 
109 };
110 
112  public:
113  ConsoleContext(int id, v8::Local<v8::String> name) : id_(id), name_(name) {}
114  ConsoleContext() : id_(0) {}
115 
116  int id() const { return id_; }
117  v8::Local<v8::String> name() const { return name_; }
118 
119  private:
120  int id_;
121  v8::Local<v8::String> name_;
122 };
123 
125  public:
126  virtual void Debug(const ConsoleCallArguments& args,
127  const ConsoleContext& context) {}
128  virtual void Error(const ConsoleCallArguments& args,
129  const ConsoleContext& context) {}
130  virtual void Info(const ConsoleCallArguments& args,
131  const ConsoleContext& context) {}
132  virtual void Log(const ConsoleCallArguments& args,
133  const ConsoleContext& context) {}
134  virtual void Warn(const ConsoleCallArguments& args,
135  const ConsoleContext& context) {}
136  virtual void Dir(const ConsoleCallArguments& args,
137  const ConsoleContext& context) {}
138  virtual void DirXml(const ConsoleCallArguments& args,
139  const ConsoleContext& context) {}
140  virtual void Table(const ConsoleCallArguments& args,
141  const ConsoleContext& context) {}
142  virtual void Trace(const ConsoleCallArguments& args,
143  const ConsoleContext& context) {}
144  virtual void Group(const ConsoleCallArguments& args,
145  const ConsoleContext& context) {}
146  virtual void GroupCollapsed(const ConsoleCallArguments& args,
147  const ConsoleContext& context) {}
148  virtual void GroupEnd(const ConsoleCallArguments& args,
149  const ConsoleContext& context) {}
150  virtual void Clear(const ConsoleCallArguments& args,
151  const ConsoleContext& context) {}
152  virtual void Count(const ConsoleCallArguments& args,
153  const ConsoleContext& context) {}
154  virtual void CountReset(const ConsoleCallArguments& args,
155  const ConsoleContext& context) {}
156  virtual void Assert(const ConsoleCallArguments& args,
157  const ConsoleContext& context) {}
158  virtual void Profile(const ConsoleCallArguments& args,
159  const ConsoleContext& context) {}
160  virtual void ProfileEnd(const ConsoleCallArguments& args,
161  const ConsoleContext& context) {}
162  virtual void Time(const ConsoleCallArguments& args,
163  const ConsoleContext& context) {}
164  virtual void TimeLog(const ConsoleCallArguments& args,
165  const ConsoleContext& context) {}
166  virtual void TimeEnd(const ConsoleCallArguments& args,
167  const ConsoleContext& context) {}
168  virtual void TimeStamp(const ConsoleCallArguments& args,
169  const ConsoleContext& context) {}
170  virtual ~ConsoleDelegate() = default;
171 };
172 
173 typedef int BreakpointId;
174 
175 } // namespace debug
176 } // namespace v8
177 
178 #endif // V8_DEBUG_INTERFACE_TYPES_H_
V8_INLINE int Length() const
Definition: v8.h:9751
Definition: v8.h:85
Definition: libplatform.h:13
V8_INLINE Local< Value > operator[](int i) const
Definition: v8.h:9702