003 File Manager
Current Path:
/usr/src/contrib/llvm-project/lldb/include/lldb/Core
usr
/
src
/
contrib
/
llvm-project
/
lldb
/
include
/
lldb
/
Core
/
📁
..
📄
Address.h
(19.2 KB)
📄
AddressRange.h
(8.4 KB)
📄
AddressResolver.h
(1.9 KB)
📄
AddressResolverFileLine.h
(1.93 KB)
📄
AddressResolverName.h
(2.12 KB)
📄
Architecture.h
(4.65 KB)
📄
Communication.h
(14.32 KB)
📄
Debugger.h
(13.51 KB)
📄
Disassembler.h
(18.46 KB)
📄
DumpDataExtractor.h
(3.58 KB)
📄
DumpRegisterValue.h
(1013 B)
📄
EmulateInstruction.h
(19.35 KB)
📄
FileLineResolver.h
(2.15 KB)
📄
FileSpecList.h
(5.88 KB)
📄
FormatEntity.h
(6.2 KB)
📄
Highlighter.h
(5.49 KB)
📄
IOHandler.h
(16.98 KB)
📄
IOHandlerCursesGUI.h
(928 B)
📄
IOStreamMacros.h
(1.87 KB)
📄
LoadedModuleInfoList.h
(2.86 KB)
📄
Mangled.h
(9.11 KB)
📄
MappedHash.h
(11.58 KB)
📄
Module.h
(42.01 KB)
📄
ModuleChild.h
(1.73 KB)
📄
ModuleList.h
(17.43 KB)
📄
ModuleSpec.h
(11.82 KB)
📄
Opcode.h
(6.75 KB)
📄
PluginInterface.h
(724 B)
📄
PluginManager.h
(17.12 KB)
📄
PropertiesBase.td
(1.3 KB)
📄
RichManglingContext.h
(3.78 KB)
📄
SearchFilter.h
(14.2 KB)
📄
Section.h
(9.83 KB)
📄
SourceManager.h
(5.59 KB)
📄
StreamAsynchronousIO.h
(973 B)
📄
StreamBuffer.h
(1.66 KB)
📄
StreamFile.h
(1.59 KB)
📄
StructuredDataImpl.h
(4.28 KB)
📄
ThreadSafeDenseMap.h
(1.59 KB)
📄
ThreadSafeDenseSet.h
(1.31 KB)
📄
ThreadSafeValue.h
(1.62 KB)
📄
UniqueCStringMap.h
(7.76 KB)
📄
UserSettingsController.h
(3.21 KB)
📄
Value.h
(6.99 KB)
📄
ValueObject.h
(36.66 KB)
📄
ValueObjectCast.h
(1.84 KB)
📄
ValueObjectChild.h
(2.82 KB)
📄
ValueObjectConstResult.h
(5.79 KB)
📄
ValueObjectConstResultCast.h
(2.26 KB)
📄
ValueObjectConstResultChild.h
(2.75 KB)
📄
ValueObjectConstResultImpl.h
(2.66 KB)
📄
ValueObjectDynamicValue.h
(3.72 KB)
📄
ValueObjectList.h
(1.69 KB)
📄
ValueObjectMemory.h
(2.59 KB)
📄
ValueObjectRegister.h
(4.09 KB)
📄
ValueObjectSyntheticFilter.h
(5.05 KB)
📄
ValueObjectVariable.h
(2.64 KB)
📄
dwarf.h
(3.19 KB)
Editing: ValueObjectDynamicValue.h
//===-- ValueObjectDynamicValue.h -------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_CORE_VALUEOBJECTDYNAMICVALUE_H #define LLDB_CORE_VALUEOBJECTDYNAMICVALUE_H #include "lldb/Core/Address.h" #include "lldb/Core/ValueObject.h" #include "lldb/Symbol/CompilerType.h" #include "lldb/Symbol/Type.h" #include "lldb/Utility/ConstString.h" #include "lldb/lldb-defines.h" #include "lldb/lldb-enumerations.h" #include "lldb/lldb-forward.h" #include "lldb/lldb-private-enumerations.h" #include <assert.h> #include <stddef.h> #include <stdint.h> namespace lldb_private { class DataExtractor; class Declaration; class Status; // A ValueObject that represents memory at a given address, viewed as some // set lldb type. class ValueObjectDynamicValue : public ValueObject { public: ~ValueObjectDynamicValue() override; uint64_t GetByteSize() override; ConstString GetTypeName() override; ConstString GetQualifiedTypeName() override; ConstString GetDisplayTypeName() override; size_t CalculateNumChildren(uint32_t max) override; lldb::ValueType GetValueType() const override; bool IsInScope() override; bool IsDynamic() override { return true; } bool IsBaseClass() override { if (m_parent) return m_parent->IsBaseClass(); return false; } bool GetIsConstant() const override { return false; } ValueObject *GetParent() override { return ((m_parent != nullptr) ? m_parent->GetParent() : nullptr); } const ValueObject *GetParent() const override { return ((m_parent != nullptr) ? m_parent->GetParent() : nullptr); } lldb::ValueObjectSP GetStaticValue() override { return m_parent->GetSP(); } void SetOwningSP(lldb::ValueObjectSP &owning_sp) { if (m_owning_valobj_sp == owning_sp) return; assert(m_owning_valobj_sp.get() == nullptr); m_owning_valobj_sp = owning_sp; } bool SetValueFromCString(const char *value_str, Status &error) override; bool SetData(DataExtractor &data, Status &error) override; TypeImpl GetTypeImpl() override; lldb::VariableSP GetVariable() override { return m_parent ? m_parent->GetVariable() : nullptr; } lldb::LanguageType GetPreferredDisplayLanguage() override; void SetPreferredDisplayLanguage(lldb::LanguageType); bool IsSyntheticChildrenGenerated() override; void SetSyntheticChildrenGenerated(bool b) override; bool GetDeclaration(Declaration &decl) override; uint64_t GetLanguageFlags() override; void SetLanguageFlags(uint64_t flags) override; protected: bool UpdateValue() override; LazyBool CanUpdateWithInvalidExecutionContext() override { return eLazyBoolYes; } lldb::DynamicValueType GetDynamicValueTypeImpl() override { return m_use_dynamic; } bool HasDynamicValueTypeInfo() override { return true; } CompilerType GetCompilerTypeImpl() override; Address m_address; ///< The variable that this value object is based upon TypeAndOrName m_dynamic_type_info; // We can have a type_sp or just a name lldb::ValueObjectSP m_owning_valobj_sp; lldb::DynamicValueType m_use_dynamic; TypeImpl m_type_impl; private: friend class ValueObject; friend class ValueObjectConstResult; ValueObjectDynamicValue(ValueObject &parent, lldb::DynamicValueType use_dynamic); ValueObjectDynamicValue(const ValueObjectDynamicValue &) = delete; const ValueObjectDynamicValue & operator=(const ValueObjectDynamicValue &) = delete; }; } // namespace lldb_private #endif // LLDB_CORE_VALUEOBJECTDYNAMICVALUE_H
Upload File
Create Folder