LLDB  mainline
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
lldb_private::ThreadPlanStack Class Reference

#include <ThreadPlanStack.h>

Collaboration diagram for lldb_private::ThreadPlanStack:
Collaboration graph
[legend]

Public Types

enum  StackKind { ePlans, eCompletedPlans, eDiscardedPlans }
 
using PlanStack = std::vector< lldb::ThreadPlanSP >
 

Public Member Functions

 ThreadPlanStack (const Thread &thread, bool make_empty=false)
 
 ~ThreadPlanStack ()
 
void DumpThreadPlans (Stream &s, lldb::DescriptionLevel desc_level, bool include_internal) const
 
size_t CheckpointCompletedPlans ()
 
void RestoreCompletedPlanCheckpoint (size_t checkpoint)
 
void DiscardCompletedPlanCheckpoint (size_t checkpoint)
 
void ThreadDestroyed (Thread *thread)
 
void EnableTracer (bool value, bool single_stepping)
 
void SetTracer (lldb::ThreadPlanTracerSP &tracer_sp)
 
void PushPlan (lldb::ThreadPlanSP new_plan_sp)
 
lldb::ThreadPlanSP PopPlan ()
 
lldb::ThreadPlanSP DiscardPlan ()
 
void DiscardPlansUpToPlan (ThreadPlan *up_to_plan_ptr)
 
void DiscardAllPlans ()
 
void DiscardConsultingMasterPlans ()
 
lldb::ThreadPlanSP GetCurrentPlan () const
 
lldb::ThreadPlanSP GetCompletedPlan (bool skip_private=true) const
 
lldb::ThreadPlanSP GetPlanByIndex (uint32_t plan_idx, bool skip_private=true) const
 
lldb::ValueObjectSP GetReturnValueObject () const
 
lldb::ExpressionVariableSP GetExpressionVariable () const
 
bool AnyPlans () const
 
bool AnyCompletedPlans () const
 
bool AnyDiscardedPlans () const
 
bool IsPlanDone (ThreadPlan *plan) const
 
bool WasPlanDiscarded (ThreadPlan *plan) const
 
ThreadPlanGetPreviousPlan (ThreadPlan *current_plan) const
 
ThreadPlanGetInnermostExpression () const
 
void WillResume ()
 

Private Member Functions

const PlanStackGetStackOfKind (ThreadPlanStack::StackKind kind) const
 
void PrintOneStack (Stream &s, llvm::StringRef stack_name, const PlanStack &stack, lldb::DescriptionLevel desc_level, bool include_internal) const
 

Private Attributes

PlanStack m_plans
 The stack of plans this thread is executing. More...
 
PlanStack m_completed_plans
 Plans that have been completed by this stop. More...
 
PlanStack m_discarded_plans
 Plans that have been discarded by this stop. More...
 
size_t m_completed_plan_checkpoint = 0
 
std::unordered_map< size_t, PlanStackm_completed_plan_store
 

Friends

class lldb_private::Thread
 

Detailed Description

Definition at line 31 of file ThreadPlanStack.h.

Member Typedef Documentation

◆ PlanStack

using lldb_private::ThreadPlanStack::PlanStack = std::vector<lldb::ThreadPlanSP>

Definition at line 40 of file ThreadPlanStack.h.

Member Enumeration Documentation

◆ StackKind

Enumerator
ePlans 
eCompletedPlans 
eDiscardedPlans 

Definition at line 38 of file ThreadPlanStack.h.

Constructor & Destructor Documentation

◆ ThreadPlanStack()

ThreadPlanStack::ThreadPlanStack ( const Thread thread,
bool  make_empty = false 
)

Definition at line 30 of file ThreadPlanStack.cpp.

◆ ~ThreadPlanStack()

lldb_private::ThreadPlanStack::~ThreadPlanStack ( )
inline

Definition at line 36 of file ThreadPlanStack.h.

Member Function Documentation

◆ AnyCompletedPlans()

bool ThreadPlanStack::AnyCompletedPlans ( ) const

◆ AnyDiscardedPlans()

bool ThreadPlanStack::AnyDiscardedPlans ( ) const

◆ AnyPlans()

bool ThreadPlanStack::AnyPlans ( ) const

◆ CheckpointCompletedPlans()

size_t ThreadPlanStack::CheckpointCompletedPlans ( )

Definition at line 82 of file ThreadPlanStack.cpp.

Referenced by lldb_private::Thread::CheckpointThreadState().

◆ DiscardAllPlans()

void ThreadPlanStack::DiscardAllPlans ( )

Definition at line 205 of file ThreadPlanStack.cpp.

Referenced by lldb_private::Thread::DiscardThreadPlans().

◆ DiscardCompletedPlanCheckpoint()

void ThreadPlanStack::DiscardCompletedPlanCheckpoint ( size_t  checkpoint)

Definition at line 97 of file ThreadPlanStack.cpp.

◆ DiscardConsultingMasterPlans()

void ThreadPlanStack::DiscardConsultingMasterPlans ( )

Definition at line 213 of file ThreadPlanStack.cpp.

Referenced by lldb_private::Thread::DiscardThreadPlans().

◆ DiscardPlan()

lldb::ThreadPlanSP ThreadPlanStack::DiscardPlan ( )

Definition at line 166 of file ThreadPlanStack.cpp.

◆ DiscardPlansUpToPlan()

void ThreadPlanStack::DiscardPlansUpToPlan ( ThreadPlan up_to_plan_ptr)

◆ DumpThreadPlans()

void ThreadPlanStack::DumpThreadPlans ( Stream s,
lldb::DescriptionLevel  desc_level,
bool  include_internal 
) const

◆ EnableTracer()

void ThreadPlanStack::EnableTracer ( bool  value,
bool  single_stepping 
)

Definition at line 127 of file ThreadPlanStack.cpp.

Referenced by lldb_private::Thread::EnableTracer().

◆ GetCompletedPlan()

lldb::ThreadPlanSP ThreadPlanStack::GetCompletedPlan ( bool  skip_private = true) const

◆ GetCurrentPlan()

lldb::ThreadPlanSP ThreadPlanStack::GetCurrentPlan ( ) const

Definition at line 246 of file ThreadPlanStack.cpp.

Referenced by lldb_private::Thread::GetCurrentPlan().

◆ GetExpressionVariable()

lldb::ExpressionVariableSP ThreadPlanStack::GetExpressionVariable ( ) const

Definition at line 294 of file ThreadPlanStack.cpp.

Referenced by lldb_private::Thread::GetExpressionVariable().

◆ GetInnermostExpression()

ThreadPlan * ThreadPlanStack::GetInnermostExpression ( ) const

◆ GetPlanByIndex()

lldb::ThreadPlanSP ThreadPlanStack::GetPlanByIndex ( uint32_t  plan_idx,
bool  skip_private = true 
) const

◆ GetPreviousPlan()

ThreadPlan * ThreadPlanStack::GetPreviousPlan ( ThreadPlan current_plan) const

Definition at line 335 of file ThreadPlanStack.cpp.

Referenced by lldb_private::Thread::GetPreviousPlan().

◆ GetReturnValueObject()

lldb::ValueObjectSP ThreadPlanStack::GetReturnValueObject ( ) const

Definition at line 281 of file ThreadPlanStack.cpp.

Referenced by lldb_private::Thread::GetReturnValueObject().

◆ GetStackOfKind()

const ThreadPlanStack::PlanStack & ThreadPlanStack::GetStackOfKind ( ThreadPlanStack::StackKind  kind) const
private

Definition at line 378 of file ThreadPlanStack.cpp.

◆ IsPlanDone()

bool ThreadPlanStack::IsPlanDone ( ThreadPlan plan) const

Definition at line 319 of file ThreadPlanStack.cpp.

Referenced by lldb_private::Thread::IsThreadPlanDone().

◆ PopPlan()

lldb::ThreadPlanSP ThreadPlanStack::PopPlan ( )

◆ PrintOneStack()

void ThreadPlanStack::PrintOneStack ( Stream s,
llvm::StringRef  stack_name,
const PlanStack stack,
lldb::DescriptionLevel  desc_level,
bool  include_internal 
) const
private

Definition at line 51 of file ThreadPlanStack.cpp.

References lldb_private::Stream::Indent(), and PrintPlanElement().

◆ PushPlan()

void ThreadPlanStack::PushPlan ( lldb::ThreadPlanSP  new_plan_sp)

Definition at line 141 of file ThreadPlanStack.cpp.

Referenced by lldb_private::Thread::PushPlan().

◆ RestoreCompletedPlanCheckpoint()

void ThreadPlanStack::RestoreCompletedPlanCheckpoint ( size_t  checkpoint)

◆ SetTracer()

void ThreadPlanStack::SetTracer ( lldb::ThreadPlanTracerSP &  tracer_sp)

Definition at line 136 of file ThreadPlanStack.cpp.

Referenced by lldb_private::Thread::SetTracer().

◆ ThreadDestroyed()

void ThreadPlanStack::ThreadDestroyed ( Thread thread)

Definition at line 101 of file ThreadPlanStack.cpp.

◆ WasPlanDiscarded()

bool ThreadPlanStack::WasPlanDiscarded ( ThreadPlan plan) const

Definition at line 327 of file ThreadPlanStack.cpp.

Referenced by lldb_private::Thread::WasThreadPlanDiscarded().

◆ WillResume()

void ThreadPlanStack::WillResume ( )

Definition at line 372 of file ThreadPlanStack.cpp.

Referenced by lldb_private::Thread::ShouldResume().

Friends And Related Function Documentation

◆ lldb_private::Thread

friend class lldb_private::Thread
friend

Definition at line 32 of file ThreadPlanStack.h.

Member Data Documentation

◆ m_completed_plan_checkpoint

size_t lldb_private::ThreadPlanStack::m_completed_plan_checkpoint = 0
private

Definition at line 112 of file ThreadPlanStack.h.

◆ m_completed_plan_store

std::unordered_map<size_t, PlanStack> lldb_private::ThreadPlanStack::m_completed_plan_store
private

Definition at line 114 of file ThreadPlanStack.h.

◆ m_completed_plans

PlanStack lldb_private::ThreadPlanStack::m_completed_plans
private

Plans that have been completed by this stop.

They get deleted when the thread resumes.

Definition at line 106 of file ThreadPlanStack.h.

◆ m_discarded_plans

PlanStack lldb_private::ThreadPlanStack::m_discarded_plans
private

Plans that have been discarded by this stop.

They get deleted when the thread resumes.

Definition at line 109 of file ThreadPlanStack.h.

◆ m_plans

PlanStack lldb_private::ThreadPlanStack::m_plans
private

The stack of plans this thread is executing.

Definition at line 105 of file ThreadPlanStack.h.


The documentation for this class was generated from the following files: