%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
// Copyright 2020 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef V8_TOOLS_V8WINDBG_SRC_LOCAL_VARIABLES_H_
#define V8_TOOLS_V8WINDBG_SRC_LOCAL_VARIABLES_H_
#include <comutil.h>
#include <wrl/implements.h>
#include "tools/v8windbg/base/dbgext.h"
// An implementation of the property accessor for the "LocalVariables" or
// "Parameters" property on Debugger.Models.StackFrame. This allows us to modify
// the variables shown in each frame.
class V8LocalVariables
: public WRL::RuntimeClass<
WRL::RuntimeClassFlags<WRL::RuntimeClassType::ClassicCom>,
IModelPropertyAccessor> {
public:
V8LocalVariables(WRL::ComPtr<IModelPropertyAccessor> original,
bool is_parameters);
~V8LocalVariables() override;
IFACEMETHOD(GetValue)
(PCWSTR key, IModelObject* context, IModelObject** value);
IFACEMETHOD(SetValue)(PCWSTR key, IModelObject* context, IModelObject* value);
private:
// The built-in accessor which we are overriding.
WRL::ComPtr<IModelPropertyAccessor> original_;
// Whether this is for Parameters rather than LocalVariables.
bool is_parameters_;
};
#endif // V8_TOOLS_V8WINDBG_SRC_LOCAL_VARIABLES_H_