xref: /third_party/node/deps/v8/src/debug/debug-scope-iterator.h (revision 1cb0ef41)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/node/deps/v8/src/debug/
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
12namespace v8 {
13namespace internal {
14
15class DebugScopeIterator final : public debug::ScopeIterator {
16 public:
17  DebugScopeIterator(Isolate* isolate, FrameInspector* frame_inspector);
18  DebugScopeIterator(Isolate* isolate, Handle<JSFunction> function);
19  DebugScopeIterator(Isolate* isolate, Handle<JSGeneratorObject> generator);
20
21  bool Done() override;
22  void Advance() override;
23  ScopeType GetType() override;
24  v8::Local<v8::Object> GetObject() override;
25  v8::Local<v8::Value> GetFunctionDebugName() override;
26  int GetScriptId() override;
27  bool HasLocationInfo() override;
28  debug::Location GetStartLocation() override;
29  debug::Location GetEndLocation() override;
30
31  bool SetVariableValue(v8::Local<v8::String> name,
32                        v8::Local<v8::Value> value) override;
33
34 private:
35  bool ShouldIgnore();
36
37  v8::internal::ScopeIterator iterator_;
38};
39
40}  // namespace internal
41}  // namespace v8
42
43#endif  // V8_DEBUG_DEBUG_SCOPE_ITERATOR_H_
44

Indexes created Thu Nov 07 10:32:03 CST 2024