File indexing completed on 2026-05-10 08:42:50
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLDB_INTERPRETER_OPTIONGROUPFILE_H
0010 #define LLDB_INTERPRETER_OPTIONGROUPFILE_H
0011
0012 #include "lldb/Interpreter/OptionValueFileSpec.h"
0013 #include "lldb/Interpreter/OptionValueFileSpecList.h"
0014 #include "lldb/Interpreter/Options.h"
0015
0016 namespace lldb_private {
0017
0018
0019
0020 class OptionGroupFile : public OptionGroup {
0021 public:
0022 OptionGroupFile(uint32_t usage_mask, bool required, const char *long_option,
0023 int short_option, uint32_t completion_type,
0024 lldb::CommandArgumentType argument_type,
0025 const char *usage_text);
0026
0027 ~OptionGroupFile() override = default;
0028
0029 llvm::ArrayRef<OptionDefinition> GetDefinitions() override {
0030 return llvm::ArrayRef<OptionDefinition>(&m_option_definition, 1);
0031 }
0032
0033 Status SetOptionValue(uint32_t option_idx, llvm::StringRef option_value,
0034 ExecutionContext *execution_context) override;
0035
0036 void OptionParsingStarting(ExecutionContext *execution_context) override;
0037
0038 OptionValueFileSpec &GetOptionValue() { return m_file; }
0039
0040 const OptionValueFileSpec &GetOptionValue() const { return m_file; }
0041
0042 protected:
0043 OptionValueFileSpec m_file;
0044 OptionDefinition m_option_definition;
0045 };
0046
0047
0048
0049 class OptionGroupFileList : public OptionGroup {
0050 public:
0051 OptionGroupFileList(uint32_t usage_mask, bool required,
0052 const char *long_option, int short_option,
0053 uint32_t completion_type,
0054 lldb::CommandArgumentType argument_type,
0055 const char *usage_text);
0056
0057 ~OptionGroupFileList() override;
0058
0059 llvm::ArrayRef<OptionDefinition> GetDefinitions() override {
0060 return llvm::ArrayRef<OptionDefinition>(&m_option_definition, 1);
0061 }
0062
0063 Status SetOptionValue(uint32_t option_idx, llvm::StringRef option_value,
0064 ExecutionContext *execution_context) override;
0065
0066 void OptionParsingStarting(ExecutionContext *execution_context) override;
0067
0068 OptionValueFileSpecList &GetOptionValue() { return m_file_list; }
0069
0070 const OptionValueFileSpecList &GetOptionValue() const { return m_file_list; }
0071
0072 protected:
0073 OptionValueFileSpecList m_file_list;
0074 OptionDefinition m_option_definition;
0075 };
0076
0077 }
0078
0079 #endif