1c8e7649aSEnrico Granata //===-- DumpValueObjectOptions.cpp -----------------------------------*- C++ -*-===// 2c8e7649aSEnrico Granata // 3c8e7649aSEnrico Granata // The LLVM Compiler Infrastructure 4c8e7649aSEnrico Granata // 5c8e7649aSEnrico Granata // This file is distributed under the University of Illinois Open Source 6c8e7649aSEnrico Granata // License. See LICENSE.TXT for details. 7c8e7649aSEnrico Granata // 8c8e7649aSEnrico Granata //===----------------------------------------------------------------------===// 9c8e7649aSEnrico Granata 10c8e7649aSEnrico Granata #include "lldb/DataFormatters/DumpValueObjectOptions.h" 11c8e7649aSEnrico Granata 12c8e7649aSEnrico Granata // C Includes 13c8e7649aSEnrico Granata // C++ Includes 14c8e7649aSEnrico Granata // Other libraries and framework includes 15c8e7649aSEnrico Granata // Project includes 16c8e7649aSEnrico Granata #include "lldb/Core/ValueObject.h" 17c8e7649aSEnrico Granata 18c8e7649aSEnrico Granata using namespace lldb; 19c8e7649aSEnrico Granata using namespace lldb_private; 20c8e7649aSEnrico Granata 21c8e7649aSEnrico Granata DumpValueObjectOptions::DumpValueObjectOptions() : 22c8e7649aSEnrico Granata m_summary_sp(), 23c8e7649aSEnrico Granata m_root_valobj_name(), 24c8e7649aSEnrico Granata m_max_ptr_depth(PointerDepth{PointerDepth::Mode::Default,0}), 25c8e7649aSEnrico Granata m_decl_printing_helper(), 26c8e7649aSEnrico Granata m_use_synthetic(true), 27c8e7649aSEnrico Granata m_scope_already_checked(false), 28c8e7649aSEnrico Granata m_flat_output(false), 29c8e7649aSEnrico Granata m_ignore_cap(false), 30c8e7649aSEnrico Granata m_show_types(false), 31c8e7649aSEnrico Granata m_show_location(false), 32c8e7649aSEnrico Granata m_use_objc(false), 33c8e7649aSEnrico Granata m_hide_root_type(false), 34c8e7649aSEnrico Granata m_hide_name(false), 35c8e7649aSEnrico Granata m_hide_value(false), 36c8e7649aSEnrico Granata m_run_validator(false), 37c8e7649aSEnrico Granata m_use_type_display_name(true), 38c8e7649aSEnrico Granata m_allow_oneliner_mode(true), 39*8cf44d96SEnrico Granata m_hide_pointer_value(false), 40*8cf44d96SEnrico Granata m_reveal_empty_aggregates(true) 41c8e7649aSEnrico Granata {} 42c8e7649aSEnrico Granata 43c8e7649aSEnrico Granata 44c8e7649aSEnrico Granata DumpValueObjectOptions::DumpValueObjectOptions (ValueObject& valobj) : 45c8e7649aSEnrico Granata DumpValueObjectOptions() 46c8e7649aSEnrico Granata { 47c8e7649aSEnrico Granata m_use_dynamic = valobj.GetDynamicValueType(); 48c8e7649aSEnrico Granata m_use_synthetic = valobj.IsSynthetic(); 49c8e7649aSEnrico Granata m_varformat_language = valobj.GetPreferredDisplayLanguage(); 50c8e7649aSEnrico Granata } 51c8e7649aSEnrico Granata 52c8e7649aSEnrico Granata DumpValueObjectOptions& 53c8e7649aSEnrico Granata DumpValueObjectOptions::SetMaximumPointerDepth(PointerDepth depth) 54c8e7649aSEnrico Granata { 55c8e7649aSEnrico Granata m_max_ptr_depth = depth; 56c8e7649aSEnrico Granata return *this; 57c8e7649aSEnrico Granata } 58c8e7649aSEnrico Granata 59c8e7649aSEnrico Granata DumpValueObjectOptions& 60c8e7649aSEnrico Granata DumpValueObjectOptions::SetMaximumDepth(uint32_t depth) 61c8e7649aSEnrico Granata { 62c8e7649aSEnrico Granata m_max_depth = depth; 63c8e7649aSEnrico Granata return *this; 64c8e7649aSEnrico Granata } 65c8e7649aSEnrico Granata 66c8e7649aSEnrico Granata DumpValueObjectOptions& 67c8e7649aSEnrico Granata DumpValueObjectOptions::SetDeclPrintingHelper(DeclPrintingHelper helper) 68c8e7649aSEnrico Granata { 69c8e7649aSEnrico Granata m_decl_printing_helper = helper; 70c8e7649aSEnrico Granata return *this; 71c8e7649aSEnrico Granata } 72c8e7649aSEnrico Granata 73c8e7649aSEnrico Granata DumpValueObjectOptions& 74c8e7649aSEnrico Granata DumpValueObjectOptions::SetShowTypes(bool show) 75c8e7649aSEnrico Granata { 76c8e7649aSEnrico Granata m_show_types = show; 77c8e7649aSEnrico Granata return *this; 78c8e7649aSEnrico Granata } 79c8e7649aSEnrico Granata 80c8e7649aSEnrico Granata DumpValueObjectOptions& 81c8e7649aSEnrico Granata DumpValueObjectOptions::SetShowLocation(bool show) 82c8e7649aSEnrico Granata { 83c8e7649aSEnrico Granata m_show_location = show; 84c8e7649aSEnrico Granata return *this; 85c8e7649aSEnrico Granata } 86c8e7649aSEnrico Granata 87c8e7649aSEnrico Granata DumpValueObjectOptions& 88c8e7649aSEnrico Granata DumpValueObjectOptions::SetUseObjectiveC(bool use) 89c8e7649aSEnrico Granata { 90c8e7649aSEnrico Granata m_use_objc = use; 91c8e7649aSEnrico Granata return *this; 92c8e7649aSEnrico Granata } 93c8e7649aSEnrico Granata 94c8e7649aSEnrico Granata DumpValueObjectOptions& 95c8e7649aSEnrico Granata DumpValueObjectOptions::SetShowSummary(bool show) 96c8e7649aSEnrico Granata { 97c8e7649aSEnrico Granata if (show == false) 98c8e7649aSEnrico Granata SetOmitSummaryDepth(UINT32_MAX); 99c8e7649aSEnrico Granata else 100c8e7649aSEnrico Granata SetOmitSummaryDepth(0); 101c8e7649aSEnrico Granata return *this; 102c8e7649aSEnrico Granata } 103c8e7649aSEnrico Granata 104c8e7649aSEnrico Granata DumpValueObjectOptions& 105c8e7649aSEnrico Granata DumpValueObjectOptions::SetUseDynamicType(lldb::DynamicValueType dyn) 106c8e7649aSEnrico Granata { 107c8e7649aSEnrico Granata m_use_dynamic = dyn; 108c8e7649aSEnrico Granata return *this; 109c8e7649aSEnrico Granata } 110c8e7649aSEnrico Granata 111c8e7649aSEnrico Granata DumpValueObjectOptions& 112c8e7649aSEnrico Granata DumpValueObjectOptions::SetUseSyntheticValue(bool use_synthetic) 113c8e7649aSEnrico Granata { 114c8e7649aSEnrico Granata m_use_synthetic = use_synthetic; 115c8e7649aSEnrico Granata return *this; 116c8e7649aSEnrico Granata } 117c8e7649aSEnrico Granata 118c8e7649aSEnrico Granata DumpValueObjectOptions& 119c8e7649aSEnrico Granata DumpValueObjectOptions::SetScopeChecked(bool check) 120c8e7649aSEnrico Granata { 121c8e7649aSEnrico Granata m_scope_already_checked = check; 122c8e7649aSEnrico Granata return *this; 123c8e7649aSEnrico Granata } 124c8e7649aSEnrico Granata 125c8e7649aSEnrico Granata DumpValueObjectOptions& 126c8e7649aSEnrico Granata DumpValueObjectOptions::SetFlatOutput(bool flat) 127c8e7649aSEnrico Granata { 128c8e7649aSEnrico Granata m_flat_output = flat; 129c8e7649aSEnrico Granata return *this; 130c8e7649aSEnrico Granata } 131c8e7649aSEnrico Granata 132c8e7649aSEnrico Granata DumpValueObjectOptions& 133c8e7649aSEnrico Granata DumpValueObjectOptions::SetOmitSummaryDepth(uint32_t depth) 134c8e7649aSEnrico Granata { 135c8e7649aSEnrico Granata m_omit_summary_depth = depth; 136c8e7649aSEnrico Granata return *this; 137c8e7649aSEnrico Granata } 138c8e7649aSEnrico Granata 139c8e7649aSEnrico Granata DumpValueObjectOptions& 140c8e7649aSEnrico Granata DumpValueObjectOptions::SetIgnoreCap(bool ignore) 141c8e7649aSEnrico Granata { 142c8e7649aSEnrico Granata m_ignore_cap = ignore; 143c8e7649aSEnrico Granata return *this; 144c8e7649aSEnrico Granata } 145c8e7649aSEnrico Granata 146c8e7649aSEnrico Granata DumpValueObjectOptions& 147c8e7649aSEnrico Granata DumpValueObjectOptions::SetRawDisplay() 148c8e7649aSEnrico Granata { 149c8e7649aSEnrico Granata SetUseSyntheticValue(false); 150c8e7649aSEnrico Granata SetOmitSummaryDepth(UINT32_MAX); 151c8e7649aSEnrico Granata SetIgnoreCap(true); 152c8e7649aSEnrico Granata SetHideName(false); 153c8e7649aSEnrico Granata SetHideValue(false); 154c8e7649aSEnrico Granata SetUseTypeDisplayName(false); 155c8e7649aSEnrico Granata SetAllowOnelinerMode(false); 156c8e7649aSEnrico Granata return *this; 157c8e7649aSEnrico Granata } 158c8e7649aSEnrico Granata 159c8e7649aSEnrico Granata DumpValueObjectOptions& 160c8e7649aSEnrico Granata DumpValueObjectOptions::SetFormat (lldb::Format format) 161c8e7649aSEnrico Granata { 162c8e7649aSEnrico Granata m_format = format; 163c8e7649aSEnrico Granata return *this; 164c8e7649aSEnrico Granata } 165c8e7649aSEnrico Granata 166c8e7649aSEnrico Granata DumpValueObjectOptions& 167c8e7649aSEnrico Granata DumpValueObjectOptions::SetSummary (lldb::TypeSummaryImplSP summary) 168c8e7649aSEnrico Granata { 169c8e7649aSEnrico Granata m_summary_sp = summary; 170c8e7649aSEnrico Granata return *this; 171c8e7649aSEnrico Granata } 172c8e7649aSEnrico Granata 173c8e7649aSEnrico Granata DumpValueObjectOptions& 174c8e7649aSEnrico Granata DumpValueObjectOptions::SetRootValueObjectName (const char* name) 175c8e7649aSEnrico Granata { 176c8e7649aSEnrico Granata if (name) 177c8e7649aSEnrico Granata m_root_valobj_name.assign(name); 178c8e7649aSEnrico Granata else 179c8e7649aSEnrico Granata m_root_valobj_name.clear(); 180c8e7649aSEnrico Granata return *this; 181c8e7649aSEnrico Granata } 182c8e7649aSEnrico Granata 183c8e7649aSEnrico Granata DumpValueObjectOptions& 184c8e7649aSEnrico Granata DumpValueObjectOptions::SetHideRootType (bool hide_root_type) 185c8e7649aSEnrico Granata { 186c8e7649aSEnrico Granata m_hide_root_type = hide_root_type; 187c8e7649aSEnrico Granata return *this; 188c8e7649aSEnrico Granata } 189c8e7649aSEnrico Granata 190c8e7649aSEnrico Granata DumpValueObjectOptions& 191c8e7649aSEnrico Granata DumpValueObjectOptions::SetHideName (bool hide_name) 192c8e7649aSEnrico Granata { 193c8e7649aSEnrico Granata m_hide_name = hide_name; 194c8e7649aSEnrico Granata return *this; 195c8e7649aSEnrico Granata } 196c8e7649aSEnrico Granata 197c8e7649aSEnrico Granata DumpValueObjectOptions& 198c8e7649aSEnrico Granata DumpValueObjectOptions::SetHideValue (bool hide_value) 199c8e7649aSEnrico Granata { 200c8e7649aSEnrico Granata m_hide_value = hide_value; 201c8e7649aSEnrico Granata return *this; 202c8e7649aSEnrico Granata } 203c8e7649aSEnrico Granata 204c8e7649aSEnrico Granata DumpValueObjectOptions& 205c8e7649aSEnrico Granata DumpValueObjectOptions::SetHidePointerValue (bool hide) 206c8e7649aSEnrico Granata { 207c8e7649aSEnrico Granata m_hide_pointer_value = hide; 208c8e7649aSEnrico Granata return *this; 209c8e7649aSEnrico Granata } 210c8e7649aSEnrico Granata 211c8e7649aSEnrico Granata DumpValueObjectOptions& 212c8e7649aSEnrico Granata DumpValueObjectOptions::SetVariableFormatDisplayLanguage (lldb::LanguageType lang) 213c8e7649aSEnrico Granata { 214c8e7649aSEnrico Granata m_varformat_language = lang; 215c8e7649aSEnrico Granata return *this; 216c8e7649aSEnrico Granata } 217c8e7649aSEnrico Granata 218c8e7649aSEnrico Granata DumpValueObjectOptions& 219c8e7649aSEnrico Granata DumpValueObjectOptions::SetRunValidator (bool run) 220c8e7649aSEnrico Granata { 221c8e7649aSEnrico Granata m_run_validator = run; 222c8e7649aSEnrico Granata return *this; 223c8e7649aSEnrico Granata } 224c8e7649aSEnrico Granata 225c8e7649aSEnrico Granata DumpValueObjectOptions& 226c8e7649aSEnrico Granata DumpValueObjectOptions::SetUseTypeDisplayName (bool dis) 227c8e7649aSEnrico Granata { 228c8e7649aSEnrico Granata m_use_type_display_name = dis; 229c8e7649aSEnrico Granata return *this; 230c8e7649aSEnrico Granata } 231c8e7649aSEnrico Granata 232c8e7649aSEnrico Granata DumpValueObjectOptions& 233c8e7649aSEnrico Granata DumpValueObjectOptions::SetAllowOnelinerMode (bool oneliner) 234c8e7649aSEnrico Granata { 235c8e7649aSEnrico Granata m_allow_oneliner_mode = oneliner; 236c8e7649aSEnrico Granata return *this; 237c8e7649aSEnrico Granata } 238*8cf44d96SEnrico Granata 239*8cf44d96SEnrico Granata DumpValueObjectOptions& 240*8cf44d96SEnrico Granata DumpValueObjectOptions::SetRevealEmptyAggregates (bool reveal) 241*8cf44d96SEnrico Granata { 242*8cf44d96SEnrico Granata m_reveal_empty_aggregates = reveal; 243*8cf44d96SEnrico Granata return *this; 244*8cf44d96SEnrico Granata } 245*8cf44d96SEnrico Granata 246