LLDB  mainline
SBReproducer.h
Go to the documentation of this file.
1 //===-- SBReproducer.h ------------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_API_SBREPRODUCER_H
10 #define LLDB_API_SBREPRODUCER_H
11 
12 #include "lldb/API/SBDefines.h"
13 
14 namespace lldb {
15 
16 /// The SBReproducer class is special because it bootstraps the capture and
17 /// replay of SB API calls. As a result we cannot rely on any other SB objects
18 /// in the interface or implementation of this class.
20 public:
21  static const char *Capture();
22  static const char *Capture(const char *path);
23  static const char *Replay(const char *path);
24  static const char *Replay(const char *path, bool skip_version_check);
25  static const char *PassiveReplay(const char *path);
26  static const char *GetPath();
27  static bool SetAutoGenerate(bool b);
28  static bool Generate();
29 
30  /// The working directory is set to the current working directory when the
31  /// reproducers are initialized. This method allows setting a different
32  /// working directory. This is used by the API test suite which temporarily
33  /// changes the directory to where the test lives. This is a NO-OP in every
34  /// mode but capture.
35  static void SetWorkingDirectory(const char *path);
36 };
37 
38 } // namespace lldb
39 
40 #endif
The SBReproducer class is special because it bootstraps the capture and replay of SB API calls...
Definition: SBReproducer.h:19
#define LLDB_API
Definition: lldb-defines.h:23
Definition: SBAddress.h:15