diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2019-12-20 19:53:05 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2019-12-20 19:53:05 +0000 | 
| commit | 0b57cec536236d46e3dba9bd041533462f33dbb7 (patch) | |
| tree | 56229dbdbbf76d18580f72f789003db17246c8d9 /contrib/llvm-project/lldb/source/DataFormatters/DumpValueObjectOptions.cpp | |
| parent | 718ef55ec7785aae63f98f8ca05dc07ed399c16d (diff) | |
Notes
Diffstat (limited to 'contrib/llvm-project/lldb/source/DataFormatters/DumpValueObjectOptions.cpp')
| -rw-r--r-- | contrib/llvm-project/lldb/source/DataFormatters/DumpValueObjectOptions.cpp | 201 | 
1 files changed, 201 insertions, 0 deletions
| diff --git a/contrib/llvm-project/lldb/source/DataFormatters/DumpValueObjectOptions.cpp b/contrib/llvm-project/lldb/source/DataFormatters/DumpValueObjectOptions.cpp new file mode 100644 index 000000000000..84f21696e054 --- /dev/null +++ b/contrib/llvm-project/lldb/source/DataFormatters/DumpValueObjectOptions.cpp @@ -0,0 +1,201 @@ +//===-- DumpValueObjectOptions.cpp -----------------------------------*- 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 +// +//===----------------------------------------------------------------------===// + +#include "lldb/DataFormatters/DumpValueObjectOptions.h" + +#include "lldb/Core/ValueObject.h" + +using namespace lldb; +using namespace lldb_private; + +DumpValueObjectOptions::DumpValueObjectOptions() +    : m_summary_sp(), m_root_valobj_name(), +      m_max_ptr_depth(PointerDepth{PointerDepth::Mode::Default, 0}), +      m_decl_printing_helper(), m_pointer_as_array(), m_use_synthetic(true), +      m_scope_already_checked(false), m_flat_output(false), m_ignore_cap(false), +      m_show_types(false), m_show_location(false), m_use_objc(false), +      m_hide_root_type(false), m_hide_name(false), m_hide_value(false), +      m_run_validator(false), m_use_type_display_name(true), +      m_allow_oneliner_mode(true), m_hide_pointer_value(false), +      m_reveal_empty_aggregates(true) {} + +DumpValueObjectOptions::DumpValueObjectOptions(ValueObject &valobj) +    : DumpValueObjectOptions() { +  m_use_dynamic = valobj.GetDynamicValueType(); +  m_use_synthetic = valobj.IsSynthetic(); +  m_varformat_language = valobj.GetPreferredDisplayLanguage(); +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetMaximumPointerDepth(PointerDepth depth) { +  m_max_ptr_depth = depth; +  return *this; +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetMaximumDepth(uint32_t depth) { +  m_max_depth = depth; +  return *this; +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetDeclPrintingHelper(DeclPrintingHelper helper) { +  m_decl_printing_helper = helper; +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetShowTypes(bool show) { +  m_show_types = show; +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetShowLocation(bool show) { +  m_show_location = show; +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetUseObjectiveC(bool use) { +  m_use_objc = use; +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetShowSummary(bool show) { +  if (!show) +    SetOmitSummaryDepth(UINT32_MAX); +  else +    SetOmitSummaryDepth(0); +  return *this; +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetUseDynamicType(lldb::DynamicValueType dyn) { +  m_use_dynamic = dyn; +  return *this; +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetUseSyntheticValue(bool use_synthetic) { +  m_use_synthetic = use_synthetic; +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetScopeChecked(bool check) { +  m_scope_already_checked = check; +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetFlatOutput(bool flat) { +  m_flat_output = flat; +  return *this; +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetOmitSummaryDepth(uint32_t depth) { +  m_omit_summary_depth = depth; +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetIgnoreCap(bool ignore) { +  m_ignore_cap = ignore; +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetRawDisplay() { +  SetUseSyntheticValue(false); +  SetOmitSummaryDepth(UINT32_MAX); +  SetIgnoreCap(true); +  SetHideName(false); +  SetHideValue(false); +  SetUseTypeDisplayName(false); +  SetAllowOnelinerMode(false); +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetFormat(lldb::Format format) { +  m_format = format; +  return *this; +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetSummary(lldb::TypeSummaryImplSP summary) { +  m_summary_sp = summary; +  return *this; +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetRootValueObjectName(const char *name) { +  if (name) +    m_root_valobj_name.assign(name); +  else +    m_root_valobj_name.clear(); +  return *this; +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetHideRootType(bool hide_root_type) { +  m_hide_root_type = hide_root_type; +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetHideName(bool hide_name) { +  m_hide_name = hide_name; +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetHideValue(bool hide_value) { +  m_hide_value = hide_value; +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetHidePointerValue(bool hide) { +  m_hide_pointer_value = hide; +  return *this; +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetVariableFormatDisplayLanguage( +    lldb::LanguageType lang) { +  m_varformat_language = lang; +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetRunValidator(bool run) { +  m_run_validator = run; +  return *this; +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetUseTypeDisplayName(bool dis) { +  m_use_type_display_name = dis; +  return *this; +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetAllowOnelinerMode(bool oneliner) { +  m_allow_oneliner_mode = oneliner; +  return *this; +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetRevealEmptyAggregates(bool reveal) { +  m_reveal_empty_aggregates = reveal; +  return *this; +} + +DumpValueObjectOptions & +DumpValueObjectOptions::SetElementCount(uint32_t element_count) { +  m_pointer_as_array = PointerAsArraySettings(element_count); +  return *this; +} + +DumpValueObjectOptions &DumpValueObjectOptions::SetPointerAsArray( +    const PointerAsArraySettings &ptr_array) { +  m_pointer_as_array = ptr_array; +  return *this; +} | 
