V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
debug-scope-iterator.h
1 // Copyright 2017 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_DEBUG_SCOPE_ITERATOR_H_
6 #define V8_DEBUG_DEBUG_SCOPE_ITERATOR_H_
7 
8 #include "src/debug/debug-frames.h"
9 #include "src/debug/debug-interface.h"
10 #include "src/debug/debug-scopes.h"
11 #include "src/frames.h"
12 
13 namespace v8 {
14 namespace internal {
15 
17  public:
18  DebugScopeIterator(Isolate* isolate, FrameInspector* frame_inspector);
19  DebugScopeIterator(Isolate* isolate, Handle<JSFunction> function);
21 
22  bool Done() override;
23  void Advance() override;
24  ScopeType GetType() override;
25  v8::Local<v8::Object> GetObject() override;
26  v8::Local<v8::Value> GetFunctionDebugName() override;
27  int GetScriptId() override;
28  bool HasLocationInfo() override;
29  debug::Location GetStartLocation() override;
30  debug::Location GetEndLocation() override;
31 
32  bool SetVariableValue(v8::Local<v8::String> name,
33  v8::Local<v8::Value> value) override;
34 
35  private:
36  bool ShouldIgnore();
37 
39 };
40 
42  public:
44  int inlined_frame_index);
45 
46  bool Done() override;
47  void Advance() override;
48  ScopeType GetType() override;
49  v8::Local<v8::Object> GetObject() override;
50  v8::Local<v8::Value> GetFunctionDebugName() override;
51  int GetScriptId() override;
52  bool HasLocationInfo() override;
53  debug::Location GetStartLocation() override;
54  debug::Location GetEndLocation() override;
55 
56  bool SetVariableValue(v8::Local<v8::String> name,
57  v8::Local<v8::Value> value) override;
58  private:
59  Isolate* isolate_;
60  StandardFrame* frame_;
61  int inlined_frame_index_;
62  ScopeType type_;
63 };
64 } // namespace internal
65 } // namespace v8
66 
67 #endif // V8_DEBUG_DEBUG_SCOPE_ITERATOR_H_
Definition: libplatform.h:13