#include "lldb/Expression/REPL.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Expression/ExpressionVariable.h"
#include "lldb/Expression/UserExpression.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Host/StreamFile.h"
#include "lldb/Interpreter/CommandInterpreter.h"
#include "lldb/Interpreter/CommandReturnObject.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/AnsiTerminal.h"
#include <memory>
usingnamespacelldb_private;
char REPL::ID;
REPL::REPL(Target &target) : … { … }
REPL::~REPL() = default;
lldb::REPLSP REPL::Create(Status &err, lldb::LanguageType language,
Debugger *debugger, Target *target,
const char *repl_options) { … }
std::string REPL::GetSourcePath() { … }
lldb::IOHandlerSP REPL::GetIOHandler() { … }
void REPL::IOHandlerActivated(IOHandler &io_handler, bool interactive) { … }
bool REPL::IOHandlerInterrupt(IOHandler &io_handler) { … }
void REPL::IOHandlerInputInterrupted(IOHandler &io_handler, std::string &line) { … }
const char *REPL::IOHandlerGetFixIndentationCharacters() { … }
llvm::StringRef REPL::IOHandlerGetControlSequence(char ch) { … }
const char *REPL::IOHandlerGetCommandPrefix() { … }
const char *REPL::IOHandlerGetHelpPrologue() { … }
bool REPL::IOHandlerIsInputComplete(IOHandler &io_handler, StringList &lines) { … }
int REPL::CalculateActualIndentation(const StringList &lines) { … }
int REPL::IOHandlerFixIndentation(IOHandler &io_handler,
const StringList &lines,
int cursor_position) { … }
static bool ReadCode(const std::string &path, std::string &code,
lldb::StreamFileSP &error_sp) { … }
void REPL::IOHandlerInputComplete(IOHandler &io_handler, std::string &code) { … }
void REPL::IOHandlerComplete(IOHandler &io_handler,
CompletionRequest &request) { … }
bool QuitCommandOverrideCallback(void *baton, const char **argv) { … }
Status REPL::RunLoop() { … }