003 File Manager
Current Path:
/usr/src/contrib/llvm-project/lldb/include/lldb/Interpreter
usr
/
src
/
contrib
/
llvm-project
/
lldb
/
include
/
lldb
/
Interpreter
/
📁
..
📄
CommandAlias.h
(2.59 KB)
📄
CommandCompletions.h
(3.97 KB)
📄
CommandHistory.h
(1.46 KB)
📄
CommandInterpreter.h
(22.26 KB)
📄
CommandObject.h
(14.63 KB)
📄
CommandObjectMultiword.h
(4.48 KB)
📄
CommandObjectRegexCommand.h
(1.88 KB)
📄
CommandOptionValidators.h
(936 B)
📄
CommandReturnObject.h
(4.74 KB)
📄
OptionArgParser.h
(1.64 KB)
📄
OptionGroupArchitecture.h
(1.42 KB)
📄
OptionGroupBoolean.h
(1.8 KB)
📄
OptionGroupFile.h
(2.72 KB)
📄
OptionGroupFormat.h
(2.72 KB)
📄
OptionGroupOutputFile.h
(1.49 KB)
📄
OptionGroupPlatform.h
(2.48 KB)
📄
OptionGroupPythonClassWithDict.h
(2.32 KB)
📄
OptionGroupString.h
(1.65 KB)
📄
OptionGroupUInt64.h
(1.65 KB)
📄
OptionGroupUUID.h
(1.21 KB)
📄
OptionGroupValueObjectDisplay.h
(2.01 KB)
📄
OptionGroupVariable.h
(1.86 KB)
📄
OptionGroupWatchpoint.h
(1.59 KB)
📄
OptionValue.h
(9.13 KB)
📄
OptionValueArch.h
(2.54 KB)
📄
OptionValueArgs.h
(905 B)
📄
OptionValueArray.h
(3.62 KB)
📄
OptionValueBoolean.h
(2.5 KB)
📄
OptionValueChar.h
(1.99 KB)
📄
OptionValueDictionary.h
(2.52 KB)
📄
OptionValueEnumeration.h
(2.52 KB)
📄
OptionValueFileSpec.h
(2.6 KB)
📄
OptionValueFileSpecList.h
(2.22 KB)
📄
OptionValueFormat.h
(1.98 KB)
📄
OptionValueFormatEntity.h
(2.04 KB)
📄
OptionValueLanguage.h
(2.11 KB)
📄
OptionValuePathMappings.h
(1.82 KB)
📄
OptionValueProperties.h
(8.6 KB)
📄
OptionValueRegex.h
(2.02 KB)
📄
OptionValueSInt64.h
(3 KB)
📄
OptionValueString.h
(4.44 KB)
📄
OptionValueUInt64.h
(2.62 KB)
📄
OptionValueUUID.h
(1.77 KB)
📄
OptionValues.h
(1.44 KB)
📄
Options.h
(11.49 KB)
📄
Property.h
(2.28 KB)
📄
ScriptInterpreter.h
(16.3 KB)
Editing: CommandReturnObject.h
//===-- CommandReturnObject.h -----------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_INTERPRETER_COMMANDRETURNOBJECT_H #define LLDB_INTERPRETER_COMMANDRETURNOBJECT_H #include "lldb/Core/StreamFile.h" #include "lldb/Utility/StreamString.h" #include "lldb/Utility/StreamTee.h" #include "lldb/lldb-private.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/FormatVariadic.h" #include "llvm/Support/WithColor.h" #include <memory> namespace lldb_private { class CommandReturnObject { public: CommandReturnObject(bool colors); ~CommandReturnObject(); llvm::StringRef GetOutputData() { lldb::StreamSP stream_sp(m_out_stream.GetStreamAtIndex(eStreamStringIndex)); if (stream_sp) return std::static_pointer_cast<StreamString>(stream_sp)->GetString(); return llvm::StringRef(); } llvm::StringRef GetErrorData() { lldb::StreamSP stream_sp(m_err_stream.GetStreamAtIndex(eStreamStringIndex)); if (stream_sp) return std::static_pointer_cast<StreamString>(stream_sp)->GetString(); return llvm::StringRef(); } Stream &GetOutputStream() { // Make sure we at least have our normal string stream output stream lldb::StreamSP stream_sp(m_out_stream.GetStreamAtIndex(eStreamStringIndex)); if (!stream_sp) { stream_sp = std::make_shared<StreamString>(); m_out_stream.SetStreamAtIndex(eStreamStringIndex, stream_sp); } return m_out_stream; } Stream &GetErrorStream() { // Make sure we at least have our normal string stream output stream lldb::StreamSP stream_sp(m_err_stream.GetStreamAtIndex(eStreamStringIndex)); if (!stream_sp) { stream_sp = std::make_shared<StreamString>(); m_err_stream.SetStreamAtIndex(eStreamStringIndex, stream_sp); } return m_err_stream; } void SetImmediateOutputFile(lldb::FileSP file_sp) { lldb::StreamSP stream_sp(new StreamFile(file_sp)); m_out_stream.SetStreamAtIndex(eImmediateStreamIndex, stream_sp); } void SetImmediateErrorFile(lldb::FileSP file_sp) { lldb::StreamSP stream_sp(new StreamFile(file_sp)); m_err_stream.SetStreamAtIndex(eImmediateStreamIndex, stream_sp); } void SetImmediateOutputStream(const lldb::StreamSP &stream_sp) { m_out_stream.SetStreamAtIndex(eImmediateStreamIndex, stream_sp); } void SetImmediateErrorStream(const lldb::StreamSP &stream_sp) { m_err_stream.SetStreamAtIndex(eImmediateStreamIndex, stream_sp); } lldb::StreamSP GetImmediateOutputStream() { return m_out_stream.GetStreamAtIndex(eImmediateStreamIndex); } lldb::StreamSP GetImmediateErrorStream() { return m_err_stream.GetStreamAtIndex(eImmediateStreamIndex); } void Clear(); void AppendMessage(llvm::StringRef in_string); void AppendMessageWithFormat(const char *format, ...) __attribute__((format(printf, 2, 3))); void AppendRawWarning(llvm::StringRef in_string); void AppendWarning(llvm::StringRef in_string); void AppendWarningWithFormat(const char *format, ...) __attribute__((format(printf, 2, 3))); void AppendError(llvm::StringRef in_string); void AppendRawError(llvm::StringRef in_string); void AppendErrorWithFormat(const char *format, ...) __attribute__((format(printf, 2, 3))); template <typename... Args> void AppendMessageWithFormatv(const char *format, Args &&... args) { AppendMessage(llvm::formatv(format, std::forward<Args>(args)...).str()); } template <typename... Args> void AppendWarningWithFormatv(const char *format, Args &&... args) { AppendWarning(llvm::formatv(format, std::forward<Args>(args)...).str()); } template <typename... Args> void AppendErrorWithFormatv(const char *format, Args &&... args) { AppendError(llvm::formatv(format, std::forward<Args>(args)...).str()); } void SetError(const Status &error, const char *fallback_error_cstr = nullptr); void SetError(llvm::StringRef error_cstr); lldb::ReturnStatus GetStatus(); void SetStatus(lldb::ReturnStatus status); bool Succeeded(); bool HasResult(); bool GetDidChangeProcessState(); void SetDidChangeProcessState(bool b); bool GetInteractive() const; void SetInteractive(bool b); private: enum { eStreamStringIndex = 0, eImmediateStreamIndex = 1 }; StreamTee m_out_stream; StreamTee m_err_stream; lldb::ReturnStatus m_status; bool m_did_change_process_state; bool m_interactive; // If true, then the input handle from the debugger will // be hooked up }; } // namespace lldb_private #endif // LLDB_INTERPRETER_COMMANDRETURNOBJECT_H
Upload File
Create Folder