1 //===-- SBStatisticsOptions.h -----------------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef LLDB_API_SBSTATISTICSOPTIONS_H 10 #define LLDB_API_SBSTATISTICSOPTIONS_H 11 12 #include "lldb/API/SBDefines.h" 13 14 namespace lldb { 15 16 /// This class handles the verbosity when dumping statistics 17 class LLDB_API SBStatisticsOptions { 18 public: 19 SBStatisticsOptions(); 20 SBStatisticsOptions(const lldb::SBStatisticsOptions &rhs); 21 ~SBStatisticsOptions(); 22 23 const SBStatisticsOptions &operator=(const lldb::SBStatisticsOptions &rhs); 24 25 void SetSummaryOnly(bool b); 26 bool GetSummaryOnly(); 27 28 /// If set to true, the debugger will load all debug info that is available 29 /// and report statistics on the total amount. If this is set to false, then 30 /// only report statistics on the currently loaded debug information. 31 /// This can avoid loading debug info from separate files just so it can 32 /// report the total size which can slow down statistics reporting. 33 void SetReportAllAvailableDebugInfo(bool b); 34 bool GetReportAllAvailableDebugInfo(); 35 36 protected: 37 friend class SBTarget; 38 const lldb_private::StatisticsOptions &ref() const; 39 40 private: 41 std::unique_ptr<lldb_private::StatisticsOptions> m_opaque_up; 42 }; 43 } // namespace lldb 44 #endif // LLDB_API_SBSTATISTICSOPTIONS_H 45