brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · c3dacd0 Raw
138 lines · cpp
1//===-- SBTraceCursor.cpp2//-------------------------------------------------------===//3//4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.5// See https://llvm.org/LICENSE.txt for license information.6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception7//8//===----------------------------------------------------------------------===//9 10#include "lldb/API/SBTraceCursor.h"11#include "Utils.h"12#include "lldb/Utility/Instrumentation.h"13#include "lldb/Target/TraceCursor.h"14 15using namespace lldb;16using namespace lldb_private;17 18SBTraceCursor::SBTraceCursor() { LLDB_INSTRUMENT_VA(this); }19 20SBTraceCursor::SBTraceCursor(TraceCursorSP trace_cursor_sp)21    : m_opaque_sp{std::move(trace_cursor_sp)} {22  LLDB_INSTRUMENT_VA(this, trace_cursor_sp);23}24 25void SBTraceCursor::SetForwards(bool forwards) {26  LLDB_INSTRUMENT_VA(this, forwards);27 28  m_opaque_sp->SetForwards(forwards);29}30 31bool SBTraceCursor::IsForwards() const {32  LLDB_INSTRUMENT_VA(this);33 34  return m_opaque_sp->IsForwards();35}36 37void SBTraceCursor::Next() {38  LLDB_INSTRUMENT_VA(this);39 40  return m_opaque_sp->Next();41}42 43bool SBTraceCursor::HasValue() const {44  LLDB_INSTRUMENT_VA(this);45 46  return m_opaque_sp->HasValue();47}48 49bool SBTraceCursor::GoToId(lldb::user_id_t id) {50  LLDB_INSTRUMENT_VA(this, id);51 52  return m_opaque_sp->GoToId(id);53}54 55bool SBTraceCursor::HasId(lldb::user_id_t id) const {56  LLDB_INSTRUMENT_VA(this, id);57 58  return m_opaque_sp->HasId(id);59}60 61lldb::user_id_t SBTraceCursor::GetId() const {62  LLDB_INSTRUMENT_VA(this);63 64  return m_opaque_sp->GetId();65}66 67bool SBTraceCursor::Seek(int64_t offset, lldb::TraceCursorSeekType origin) {68  LLDB_INSTRUMENT_VA(this, offset);69 70  return m_opaque_sp->Seek(offset, origin);71}72 73lldb::TraceItemKind SBTraceCursor::GetItemKind() const {74  LLDB_INSTRUMENT_VA(this);75 76  return m_opaque_sp->GetItemKind();77}78 79bool SBTraceCursor::IsError() const {80  LLDB_INSTRUMENT_VA(this);81 82  return m_opaque_sp->IsError();83}84 85const char *SBTraceCursor::GetError() const {86  LLDB_INSTRUMENT_VA(this);87 88  return ConstString(m_opaque_sp->GetError()).GetCString();89}90 91bool SBTraceCursor::IsEvent() const {92  LLDB_INSTRUMENT_VA(this);93 94  return m_opaque_sp->IsEvent();95}96 97lldb::TraceEvent SBTraceCursor::GetEventType() const {98  LLDB_INSTRUMENT_VA(this);99 100  return m_opaque_sp->GetEventType();101}102 103const char *SBTraceCursor::GetEventTypeAsString() const {104  LLDB_INSTRUMENT_VA(this);105 106  return ConstString(m_opaque_sp->GetEventTypeAsString()).GetCString();107}108 109bool SBTraceCursor::IsInstruction() const {110  LLDB_INSTRUMENT_VA(this);111 112  return m_opaque_sp->IsInstruction();113}114 115lldb::addr_t SBTraceCursor::GetLoadAddress() const {116  LLDB_INSTRUMENT_VA(this);117 118  return m_opaque_sp->GetLoadAddress();119}120 121lldb::cpu_id_t SBTraceCursor::GetCPU() const {122  LLDB_INSTRUMENT_VA(this);123 124  return m_opaque_sp->GetCPU();125}126 127bool SBTraceCursor::IsValid() const {128  LLDB_INSTRUMENT_VA(this);129 130  return this->operator bool();131}132 133SBTraceCursor::operator bool() const {134  LLDB_INSTRUMENT_VA(this);135 136  return m_opaque_sp.get() != nullptr;137}138