Home | History | Annotate | Download | only in Target
      1 //===-- ThreadPlanStepOverRange.h -------------------------------*- C++ -*-===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 #ifndef liblldb_ThreadPlanStepOverRange_h_
     11 #define liblldb_ThreadPlanStepOverRange_h_
     12 
     13 // C Includes
     14 // C++ Includes
     15 // Other libraries and framework includes
     16 // Project includes
     17 #include "lldb/Core/AddressRange.h"
     18 #include "lldb/Target/StackID.h"
     19 #include "lldb/Target/Thread.h"
     20 #include "lldb/Target/ThreadPlanStepRange.h"
     21 
     22 namespace lldb_private {
     23 
     24 class ThreadPlanStepOverRange : public ThreadPlanStepRange
     25 {
     26 public:
     27 
     28     ThreadPlanStepOverRange (Thread &thread,
     29                              const AddressRange &range,
     30                              const SymbolContext &addr_context,
     31                              lldb::RunMode stop_others);
     32 
     33     virtual ~ThreadPlanStepOverRange ();
     34 
     35     virtual void GetDescription (Stream *s, lldb::DescriptionLevel level);
     36     virtual bool ShouldStop (Event *event_ptr);
     37 
     38 protected:
     39     virtual bool DoPlanExplainsStop (Event *event_ptr);
     40     virtual bool DoWillResume (lldb::StateType resume_state, bool current_plan);
     41 
     42 private:
     43 
     44     bool m_first_resume;
     45 
     46     DISALLOW_COPY_AND_ASSIGN (ThreadPlanStepOverRange);
     47 
     48 };
     49 
     50 } // namespace lldb_private
     51 
     52 #endif  // liblldb_ThreadPlanStepOverRange_h_
     53