ThreadPlanTestCondition.h [plain text]
#ifndef liblldb_ThreadPlanTestCondition_h_
#define liblldb_ThreadPlanTestCondition_h_
#include "lldb/Core/AddressRange.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Expression/ClangUserExpression.h"
#include "lldb/Target/StackID.h"
#include "lldb/Target/Thread.h"
#include "lldb/Target/ThreadPlan.h"
#include "lldb/Target/ThreadPlanShouldStopHere.h"
namespace lldb_private {
class ThreadPlanTestCondition : public ThreadPlan
{
public:
virtual ~ThreadPlanTestCondition ();
ThreadPlanTestCondition (Thread &thread,
ExecutionContext &exe_ctx,
ClangUserExpression *expression,
lldb::BreakpointLocationSP break_loc_sp,
bool stop_others);
virtual void GetDescription (Stream *s, lldb::DescriptionLevel level);
virtual bool ValidatePlan (Stream *error);
virtual bool PlanExplainsStop ();
virtual bool ShouldStop (Event *event_ptr);
virtual Vote ShouldReportStop (Event *event_ptr);
virtual bool StopOthers ();
virtual lldb::StateType GetPlanRunState ();
virtual bool WillStop ();
virtual bool MischiefManaged ();
virtual void DidPush ();
protected:
private:
ClangUserExpression *m_expression;
ExecutionContext m_exe_ctx;
lldb::ThreadPlanSP m_expression_plan_sp;
lldb::BreakpointLocationSP m_break_loc_sp;
bool m_did_stop;
bool m_stop_others;
DISALLOW_COPY_AND_ASSIGN (ThreadPlanTestCondition);
};
}
#endif // liblldb_ThreadPlanTestCondition_h_