5#ifndef V8_INSPECTOR_VALUE_MIRROR_H_
6#define V8_INSPECTOR_VALUE_MIRROR_H_
13#include "src/inspector/protocol/Protocol.h"
14#include "src/inspector/protocol/Runtime.h"
25 std::unique_ptr<ValueMirror>
value;
32 std::unique_ptr<ValueMirror>
value;
43 std::unique_ptr<ValueMirror>
value;
58 std::unique_ptr<protocol::Runtime::RemoteObject>*
result)
const = 0;
61 std::unique_ptr<protocol::Runtime::PropertyPreview>*)
const {}
64 int* nameLimit,
int* indexLimit,
65 std::unique_ptr<protocol::Runtime::ObjectPreview>*)
const {}
68 std::unique_ptr<protocol::Runtime::ObjectPreview>*)
const {}
75 std::unique_ptr<protocol::DictionaryValue>*
result)
const = 0;
84 bool accessorPropertiesOnly,
85 bool nonIndexedPropertiesOnly,
89 std::vector<InternalPropertyMirror>* mirrors);
92 bool accessorPropertiesOnly);
97 std::unique_ptr<protocol::Value>*
result);
100 std::unique_ptr<protocol::ListValue>*
result);
103 std::unique_ptr<protocol::DictionaryValue>*
result);
virtual bool Add(PropertyMirror mirror)=0
virtual ~PropertyAccumulator()=default
static std::unique_ptr< ValueMirror > create(v8::Local< v8::Context > context, v8::Local< v8::Value > value)
virtual v8::Local< v8::Value > v8Value(v8::Isolate *isolate) const =0
virtual Response buildDeepSerializedValue(v8::Local< v8::Context > context, int maxDepth, v8::Local< v8::Object > additionalParameters, V8SerializationDuplicateTracker &duplicateTracker, std::unique_ptr< protocol::DictionaryValue > *result) const =0
static bool getProperties(v8::Local< v8::Context > context, v8::Local< v8::Object > object, bool ownProperties, bool accessorPropertiesOnly, bool nonIndexedPropertiesOnly, PropertyAccumulator *accumulator)
virtual void buildEntryPreview(v8::Local< v8::Context > context, int *nameLimit, int *indexLimit, std::unique_ptr< protocol::Runtime::ObjectPreview > *) const
virtual protocol::Response buildRemoteObject(v8::Local< v8::Context > context, const WrapOptions &wrapOptions, std::unique_ptr< protocol::Runtime::RemoteObject > *result) const =0
virtual void buildObjectPreview(v8::Local< v8::Context > context, bool generatePreviewForTable, int *nameLimit, int *indexLimit, std::unique_ptr< protocol::Runtime::ObjectPreview > *) const
static void getInternalProperties(v8::Local< v8::Context > context, v8::Local< v8::Object > object, std::vector< InternalPropertyMirror > *mirrors)
virtual void buildPropertyPreview(v8::Local< v8::Context > context, const String16 &name, std::unique_ptr< protocol::Runtime::PropertyPreview > *) const
static std::vector< PrivatePropertyMirror > getPrivateProperties(v8::Local< v8::Context > context, v8::Local< v8::Object > object, bool accessorPropertiesOnly)
ZoneVector< RpoNumber > & result
Response toProtocolValue(v8::Local< v8::Context > context, v8::Local< v8::Value > value, int maxDepth, std::unique_ptr< protocol::Value > *result)
Response objectToProtocolValue(v8::Local< v8::Context > context, v8::Local< v8::Object > object, int maxDepth, std::unique_ptr< protocol::DictionaryValue > *result)
Response arrayToProtocolValue(v8::Local< v8::Context > context, v8::Local< v8::Array > array, int maxDepth, std::unique_ptr< protocol::ListValue > *result)
std::unique_ptr< ValueMirror > value
std::unique_ptr< ValueMirror > getter
std::unique_ptr< ValueMirror > value
std::unique_ptr< ValueMirror > setter
std::unique_ptr< ValueMirror > symbol
std::unique_ptr< ValueMirror > value
std::unique_ptr< ValueMirror > getter
std::unique_ptr< ValueMirror > exception
std::unique_ptr< ValueMirror > setter