9#ifndef LLDB_UTILITY_POLICY_H
10#define LLDB_UTILITY_POLICY_H
12#include "llvm/ADT/SmallVector.h"
150 assert(!
m_stack.empty() &&
"can't pop the base policy");
RAII guard that pops a policy on destruction.
Guard & operator=(const Guard &)=delete
std::thread::id m_thread_id
Guard(const Guard &)=delete
Guard & operator=(Guard &&other)
void Dump(Stream &s) const
Guard PushPrivateState(Policy::PrivateStatePurpose purpose=Policy::PrivateStatePurpose::Default)
All Push* methods delegate to the named static factories on Policy, which already inherit from Curren...
Guard PushPublicStateRunningExpression()
static PolicyStack & Get()
llvm::SmallVector< Policy > m_stack
A stream class that can stream formatted output to a file.
A class that represents a running process on the host machine.
What operations this thread is allowed to perform.
bool can_evaluate_expressions
bool can_load_frame_providers
bool can_run_all_threads
Whether expression evaluation may resume all threads to avoid deadlocks (e.g.
bool can_run_breakpoint_actions
bool can_run_frame_recognizers
bool can_try_all_threads
Whether the expression runner may fall back to running all threads after a single-thread attempt time...
Describes what view of the process a thread should see and what operations it is allowed to perform.
static Policy CreatePublicState()
Capabilities capabilities
View
What view of the process this thread sees.
@ Public
Provider-augmented frames, public state, public run lock.
@ Private
Parent (unwinder) frames, private state, private run lock.
void Dump(Stream &s) const
PrivateStatePurpose
Why a private-state policy is being pushed.
static Policy CreatePublicStateRunningExpression()
static Policy CreatePrivateState(PrivateStatePurpose purpose=PrivateStatePurpose::Default)