ThreadPlanStepOverRange.h revision f2ca573e8dc034ecc5050a874d8f01ace0703e18
10ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong//===-- ThreadPlanStepOverRange.h -------------------------------*- C++ -*-===//
279397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez//
30ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong//                     The LLVM Compiler Infrastructure
40ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong//
50ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong// This file is distributed under the University of Illinois Open Source
60ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong// License. See LICENSE.TXT for details.
70ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong//
80ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong//===----------------------------------------------------------------------===//
90ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong
100ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong#ifndef liblldb_ThreadPlanStepOverRange_h_
110ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong#define liblldb_ThreadPlanStepOverRange_h_
120ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong
130ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong// C Includes
140ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong// C++ Includes
150ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong// Other libraries and framework includes
160ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong// Project includes
170ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong#include "lldb/Core/AddressRange.h"
180ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong#include "lldb/Target/StackID.h"
190ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong#include "lldb/Target/Thread.h"
200ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong#include "lldb/Target/ThreadPlanStepRange.h"
210ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong
220ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kongnamespace lldb_private {
230ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong
240ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kongclass ThreadPlanStepOverRange : public ThreadPlanStepRange
250ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong{
260ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kongpublic:
270ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong
280ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong    ThreadPlanStepOverRange (Thread &thread,
291d2624a10e2c559f8ba9ef89eaa30832c0a83a96Sascha Haeberling                             const AddressRange &range,
301d2624a10e2c559f8ba9ef89eaa30832c0a83a96Sascha Haeberling                             const SymbolContext &addr_context,
3179397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez                             lldb::RunMode stop_others);
3279397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez
3379397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez    virtual ~ThreadPlanStepOverRange ();
3479397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez
3579397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez    virtual void GetDescription (Stream *s, lldb::DescriptionLevel level);
3679397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez    virtual bool ShouldStop (Event *event_ptr);
3779397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez    virtual bool PlanExplainsStop ();
3879397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez    virtual bool WillResume (lldb::StateType resume_state, bool current_plan);
3979397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez
4079397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandezprotected:
4179397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez
420ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kongprivate:
4379397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez
4479397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez    bool m_first_resume;
450ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong
4679397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez    DISALLOW_COPY_AND_ASSIGN (ThreadPlanStepOverRange);
4779397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez
4879397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez};
4979397c21138f54fcff6ec067b44b847f1f7e0e98Carlos Hernandez
500ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong} // namespace lldb_private
510ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong
520ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong#endif  // liblldb_ThreadPlanStepOverRange_h_
530ae28bd5885b5daa526898fcf7c323dc2c3e1963Angus Kong