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. 19 class LLDB_API SBReproducer { 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 *GetPath(); 26 static bool Generate(); 27 }; 28 29 } // namespace lldb 30 31 #endif 32