xref: /freebsd-src/contrib/llvm-project/lldb/source/API/SBStatisticsOptions.cpp (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
1*0fca6ea1SDimitry Andric //===-- SBStatisticsOptions.cpp -------------------------------------------===//
2*0fca6ea1SDimitry Andric //
3*0fca6ea1SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*0fca6ea1SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5*0fca6ea1SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*0fca6ea1SDimitry Andric //
7*0fca6ea1SDimitry Andric //===----------------------------------------------------------------------===//
8*0fca6ea1SDimitry Andric 
9*0fca6ea1SDimitry Andric #include "lldb/API/SBStatisticsOptions.h"
10*0fca6ea1SDimitry Andric #include "lldb/Target/Statistics.h"
11*0fca6ea1SDimitry Andric #include "lldb/Utility/Instrumentation.h"
12*0fca6ea1SDimitry Andric 
13*0fca6ea1SDimitry Andric #include "Utils.h"
14*0fca6ea1SDimitry Andric 
15*0fca6ea1SDimitry Andric using namespace lldb;
16*0fca6ea1SDimitry Andric using namespace lldb_private;
17*0fca6ea1SDimitry Andric 
18*0fca6ea1SDimitry Andric SBStatisticsOptions::SBStatisticsOptions()
19*0fca6ea1SDimitry Andric     : m_opaque_up(new StatisticsOptions()) {
20*0fca6ea1SDimitry Andric   LLDB_INSTRUMENT_VA(this);
21*0fca6ea1SDimitry Andric }
22*0fca6ea1SDimitry Andric 
23*0fca6ea1SDimitry Andric SBStatisticsOptions::SBStatisticsOptions(const SBStatisticsOptions &rhs) {
24*0fca6ea1SDimitry Andric   LLDB_INSTRUMENT_VA(this, rhs);
25*0fca6ea1SDimitry Andric 
26*0fca6ea1SDimitry Andric   m_opaque_up = clone(rhs.m_opaque_up);
27*0fca6ea1SDimitry Andric }
28*0fca6ea1SDimitry Andric 
29*0fca6ea1SDimitry Andric SBStatisticsOptions::~SBStatisticsOptions() = default;
30*0fca6ea1SDimitry Andric 
31*0fca6ea1SDimitry Andric const SBStatisticsOptions &
32*0fca6ea1SDimitry Andric SBStatisticsOptions::operator=(const SBStatisticsOptions &rhs) {
33*0fca6ea1SDimitry Andric   LLDB_INSTRUMENT_VA(this, rhs);
34*0fca6ea1SDimitry Andric 
35*0fca6ea1SDimitry Andric   if (this != &rhs)
36*0fca6ea1SDimitry Andric     m_opaque_up = clone(rhs.m_opaque_up);
37*0fca6ea1SDimitry Andric   return *this;
38*0fca6ea1SDimitry Andric }
39*0fca6ea1SDimitry Andric 
40*0fca6ea1SDimitry Andric void SBStatisticsOptions::SetSummaryOnly(bool b) {
41*0fca6ea1SDimitry Andric   m_opaque_up->SetSummaryOnly(b);
42*0fca6ea1SDimitry Andric }
43*0fca6ea1SDimitry Andric 
44*0fca6ea1SDimitry Andric bool SBStatisticsOptions::GetSummaryOnly() {
45*0fca6ea1SDimitry Andric   return m_opaque_up->GetSummaryOnly();
46*0fca6ea1SDimitry Andric }
47*0fca6ea1SDimitry Andric 
48*0fca6ea1SDimitry Andric void SBStatisticsOptions::SetIncludeTargets(bool b) {
49*0fca6ea1SDimitry Andric   m_opaque_up->SetIncludeTargets(b);
50*0fca6ea1SDimitry Andric }
51*0fca6ea1SDimitry Andric 
52*0fca6ea1SDimitry Andric bool SBStatisticsOptions::GetIncludeTargets() const {
53*0fca6ea1SDimitry Andric   return m_opaque_up->GetIncludeTargets();
54*0fca6ea1SDimitry Andric }
55*0fca6ea1SDimitry Andric 
56*0fca6ea1SDimitry Andric void SBStatisticsOptions::SetIncludeModules(bool b) {
57*0fca6ea1SDimitry Andric   m_opaque_up->SetIncludeModules(b);
58*0fca6ea1SDimitry Andric }
59*0fca6ea1SDimitry Andric 
60*0fca6ea1SDimitry Andric bool SBStatisticsOptions::GetIncludeModules() const {
61*0fca6ea1SDimitry Andric   return m_opaque_up->GetIncludeModules();
62*0fca6ea1SDimitry Andric }
63*0fca6ea1SDimitry Andric 
64*0fca6ea1SDimitry Andric void SBStatisticsOptions::SetIncludeTranscript(bool b) {
65*0fca6ea1SDimitry Andric   m_opaque_up->SetIncludeTranscript(b);
66*0fca6ea1SDimitry Andric }
67*0fca6ea1SDimitry Andric 
68*0fca6ea1SDimitry Andric bool SBStatisticsOptions::GetIncludeTranscript() const {
69*0fca6ea1SDimitry Andric   return m_opaque_up->GetIncludeTranscript();
70*0fca6ea1SDimitry Andric }
71*0fca6ea1SDimitry Andric 
72*0fca6ea1SDimitry Andric void SBStatisticsOptions::SetReportAllAvailableDebugInfo(bool b) {
73*0fca6ea1SDimitry Andric   m_opaque_up->SetLoadAllDebugInfo(b);
74*0fca6ea1SDimitry Andric }
75*0fca6ea1SDimitry Andric 
76*0fca6ea1SDimitry Andric bool SBStatisticsOptions::GetReportAllAvailableDebugInfo() {
77*0fca6ea1SDimitry Andric   return m_opaque_up->GetLoadAllDebugInfo();
78*0fca6ea1SDimitry Andric }
79*0fca6ea1SDimitry Andric 
80*0fca6ea1SDimitry Andric const lldb_private::StatisticsOptions &SBStatisticsOptions::ref() const {
81*0fca6ea1SDimitry Andric   return *m_opaque_up;
82*0fca6ea1SDimitry Andric }
83