1//===-- Xcode.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 __PerfTestDriver__Xcode__
11#define __PerfTestDriver__Xcode__
12
13#include "lldb/API/SBDefines.h"
14#include "lldb/API/SBValue.h"
15#include "lldb/API/SBTarget.h"
16#include "lldb/API/SBModule.h"
17#include "lldb/API/SBProcess.h"
18#include "lldb/API/SBLineEntry.h"
19#include "lldb/API/SBThread.h"
20#include "lldb/API/SBDebugger.h"
21#include "lldb/API/SBCommandInterpreter.h"
22#include "lldb/API/SBCommandReturnObject.h"
23#include "lldb/API/SBBreakpoint.h"
24
25using namespace lldb;
26
27namespace lldb_perf
28{
29class Xcode
30{
31public:
32	static void
33	FetchVariable (SBValue value, uint32_t expand = 0, bool verbose = false);
34
35	static void
36	FetchModules (SBTarget target, bool verbose = false);
37
38	static void
39	FetchVariables (SBFrame frame, uint32_t expand = 0, bool verbose = false);
40
41	static void
42	FetchFrames (SBProcess process, bool variables = false, bool verbose = false);
43
44	static void
45	RunExpression (SBFrame frame, const char* expression, bool po = false, bool verbose = false);
46
47	static void
48	Next (SBThread thread);
49
50	static void
51	Continue (SBProcess process);
52
53	static void
54	RunCommand (SBDebugger debugger, const char* cmd, bool verbose = false);
55
56	static SBThread
57	GetThreadWithStopReason (SBProcess process, StopReason reason);
58
59    static SBBreakpoint
60    CreateFileLineBreakpoint (SBTarget target, const char* file, uint32_t line);
61};
62}
63
64#endif /* defined(__PerfTestDriver__Xcode__) */
65