File indexing completed on 2026-05-10 08:42:50
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLDB_INTERPRETER_OPTIONVALUEFILECOLONLINE_H
0010 #define LLDB_INTERPRETER_OPTIONVALUEFILECOLONLINE_H
0011
0012 #include "lldb/Interpreter/CommandCompletions.h"
0013 #include "lldb/Interpreter/OptionValue.h"
0014 #include "lldb/Utility/FileSpec.h"
0015 #include "llvm/Support/Chrono.h"
0016
0017 namespace lldb_private {
0018
0019 class OptionValueFileColonLine :
0020 public Cloneable<OptionValueFileColonLine, OptionValue> {
0021 public:
0022 OptionValueFileColonLine();
0023 OptionValueFileColonLine(const llvm::StringRef input);
0024
0025 ~OptionValueFileColonLine() override = default;
0026
0027 OptionValue::Type GetType() const override { return eTypeFileLineColumn; }
0028
0029 void DumpValue(const ExecutionContext *exe_ctx, Stream &strm,
0030 uint32_t dump_mask) override;
0031
0032 Status
0033 SetValueFromString(llvm::StringRef value,
0034 VarSetOperationType op = eVarSetOperationAssign) override;
0035
0036 void Clear() override {
0037 m_file_spec.Clear();
0038 m_line_number = LLDB_INVALID_LINE_NUMBER;
0039 m_column_number = LLDB_INVALID_COLUMN_NUMBER;
0040 }
0041
0042 void AutoComplete(CommandInterpreter &interpreter,
0043 CompletionRequest &request) override;
0044
0045 FileSpec &GetFileSpec() { return m_file_spec; }
0046 uint32_t GetLineNumber() { return m_line_number; }
0047 uint32_t GetColumnNumber() { return m_column_number; }
0048
0049 void SetCompletionMask(uint32_t mask) { m_completion_mask = mask; }
0050
0051 protected:
0052 FileSpec m_file_spec;
0053 uint32_t m_line_number = LLDB_INVALID_LINE_NUMBER;
0054 uint32_t m_column_number = LLDB_INVALID_COLUMN_NUMBER;
0055 uint32_t m_completion_mask = lldb::eSourceFileCompletion;
0056 };
0057
0058 }
0059
0060 #endif