| OLD | NEW |
| 1 // Copyright 2016 the V8 project authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_DEBUG_DEBUG_INTERFACE_H_ | 5 #ifndef V8_DEBUG_DEBUG_INTERFACE_H_ |
| 6 #define V8_DEBUG_DEBUG_INTERFACE_H_ | 6 #define V8_DEBUG_DEBUG_INTERFACE_H_ |
| 7 | 7 |
| 8 #include <functional> | 8 #include <functional> |
| 9 | 9 |
| 10 #include "include/v8-debug.h" | 10 #include "include/v8-debug.h" |
| 11 #include "include/v8-util.h" | 11 #include "include/v8-util.h" |
| 12 #include "include/v8.h" | 12 #include "include/v8.h" |
| 13 | 13 |
| 14 #include "src/debug/interface-types.h" | 14 #include "src/debug/interface-types.h" |
| 15 #include "src/globals.h" |
| 15 | 16 |
| 16 namespace v8 { | 17 namespace v8 { |
| 18 |
| 19 namespace internal { |
| 20 struct CoverageRange; |
| 21 class Coverage; |
| 22 class Script; |
| 23 } |
| 24 |
| 17 namespace debug { | 25 namespace debug { |
| 18 | 26 |
| 19 /** | 27 /** |
| 20 * Debugger is running in its own context which is entered while debugger | 28 * Debugger is running in its own context which is entered while debugger |
| 21 * messages are being dispatched. This is an explicit getter for this | 29 * messages are being dispatched. This is an explicit getter for this |
| 22 * debugger context. Note that the content of the debugger context is subject | 30 * debugger context. Note that the content of the debugger context is subject |
| 23 * to change. The Context exists only when the debugger is active, i.e. at | 31 * to change. The Context exists only when the debugger is active, i.e. at |
| 24 * least one DebugEventListener or MessageHandler is set. | 32 * least one DebugEventListener or MessageHandler is set. |
| 25 */ | 33 */ |
| 26 Local<Context> GetDebugContext(Isolate* isolate); | 34 Local<Context> GetDebugContext(Isolate* isolate); |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 class GeneratorObject { | 199 class GeneratorObject { |
| 192 public: | 200 public: |
| 193 v8::MaybeLocal<debug::Script> Script(); | 201 v8::MaybeLocal<debug::Script> Script(); |
| 194 v8::Local<v8::Function> Function(); | 202 v8::Local<v8::Function> Function(); |
| 195 debug::Location SuspendedLocation(); | 203 debug::Location SuspendedLocation(); |
| 196 bool IsSuspended(); | 204 bool IsSuspended(); |
| 197 | 205 |
| 198 static v8::Local<debug::GeneratorObject> Cast(v8::Local<v8::Value> value); | 206 static v8::Local<debug::GeneratorObject> Cast(v8::Local<v8::Value> value); |
| 199 }; | 207 }; |
| 200 | 208 |
| 209 /* |
| 210 * Provide API layer between inspector and code coverage. |
| 211 */ |
| 212 class Coverage { |
| 213 public: |
| 214 class Range { |
| 215 public: |
| 216 // 0-based line and colum numbers. |
| 217 Location Start() { return start_; } |
| 218 Location End() { return end_; } |
| 219 uint32_t Count(); |
| 220 size_t NestedCount(); |
| 221 Range GetNested(size_t i); |
| 222 MaybeLocal<String> Name(); |
| 223 |
| 224 private: |
| 225 Range(i::CoverageRange* range, Local<debug::Script> script); |
| 226 i::CoverageRange* range_; |
| 227 Location start_; |
| 228 Location end_; |
| 229 Local<debug::Script> script_; |
| 230 |
| 231 friend class debug::Coverage; |
| 232 }; |
| 233 |
| 234 V8_EXPORT_PRIVATE static Coverage Collect(Isolate* isolate); |
| 235 |
| 236 V8_EXPORT_PRIVATE static void TogglePrecise(Isolate* isolate, bool enable); |
| 237 |
| 238 size_t ScriptCount(); |
| 239 Local<debug::Script> GetScript(size_t i); |
| 240 Range GetRange(size_t i); |
| 241 |
| 242 ~Coverage(); |
| 243 |
| 244 private: |
| 245 explicit Coverage(i::Coverage* coverage) : coverage_(coverage) {} |
| 246 i::Coverage* coverage_; |
| 247 }; |
| 201 } // namespace debug | 248 } // namespace debug |
| 202 } // namespace v8 | 249 } // namespace v8 |
| 203 | 250 |
| 204 #endif // V8_DEBUG_DEBUG_INTERFACE_H_ | 251 #endif // V8_DEBUG_DEBUG_INTERFACE_H_ |
| OLD | NEW |