1296417Sdim//===-- OptionGroupValueObjectDisplay.h -------------------------*- C++ -*-===// 2254721Semaste// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6254721Semaste// 7254721Semaste//===----------------------------------------------------------------------===// 8254721Semaste 9254721Semaste#ifndef liblldb_OptionGroupValueObjectDisplay_h_ 10254721Semaste#define liblldb_OptionGroupValueObjectDisplay_h_ 11254721Semaste 12254721Semaste#include "lldb/Core/ValueObject.h" 13254721Semaste#include "lldb/Interpreter/Options.h" 14254721Semaste 15254721Semastenamespace lldb_private { 16254721Semaste 17254721Semaste// OptionGroupValueObjectDisplay 18254721Semaste 19314564Sdimclass OptionGroupValueObjectDisplay : public OptionGroup { 20254721Semastepublic: 21314564Sdim OptionGroupValueObjectDisplay(); 22254721Semaste 23314564Sdim ~OptionGroupValueObjectDisplay() override; 24254721Semaste 25314564Sdim llvm::ArrayRef<OptionDefinition> GetDefinitions() override; 26314564Sdim 27321369Sdim Status SetOptionValue(uint32_t option_idx, llvm::StringRef option_value, 28321369Sdim ExecutionContext *execution_context) override; 29321369Sdim Status SetOptionValue(uint32_t, const char *, ExecutionContext *) = delete; 30314564Sdim 31314564Sdim void OptionParsingStarting(ExecutionContext *execution_context) override; 32314564Sdim 33314564Sdim bool AnyOptionWasSet() const { 34314564Sdim return show_types || no_summary_depth != 0 || show_location || 35314564Sdim flat_output || use_objc || max_depth != UINT32_MAX || 36314564Sdim ptr_depth != 0 || !use_synth || be_raw || ignore_cap || 37314564Sdim run_validator; 38314564Sdim } 39314564Sdim 40314564Sdim DumpValueObjectOptions GetAsDumpOptions( 41314564Sdim LanguageRuntimeDescriptionDisplayVerbosity lang_descr_verbosity = 42314564Sdim eLanguageRuntimeDescriptionDisplayVerbosityFull, 43314564Sdim lldb::Format format = lldb::eFormatDefault, 44314564Sdim lldb::TypeSummaryImplSP summary_sp = lldb::TypeSummaryImplSP()); 45314564Sdim 46314564Sdim bool show_types : 1, show_location : 1, flat_output : 1, use_objc : 1, 47314564Sdim use_synth : 1, be_raw : 1, ignore_cap : 1, run_validator : 1; 48314564Sdim 49314564Sdim uint32_t no_summary_depth; 50314564Sdim uint32_t max_depth; 51314564Sdim uint32_t ptr_depth; 52314564Sdim uint32_t elem_count; 53314564Sdim lldb::DynamicValueType use_dynamic; 54254721Semaste}; 55254721Semaste 56254721Semaste} // namespace lldb_private 57254721Semaste 58296417Sdim#endif // liblldb_OptionGroupValueObjectDisplay_h_ 59