diff options
Diffstat (limited to 'tools/lldb-mi/MICmdArgValPrintValues.h')
-rw-r--r-- | tools/lldb-mi/MICmdArgValPrintValues.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tools/lldb-mi/MICmdArgValPrintValues.h b/tools/lldb-mi/MICmdArgValPrintValues.h new file mode 100644 index 000000000000..37de923e9e52 --- /dev/null +++ b/tools/lldb-mi/MICmdArgValPrintValues.h @@ -0,0 +1,53 @@ +//===-- MICmdArgValPrintValues.h --------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#pragma once + +// In-house headers: +#include "MICmdArgValBase.h" + +// Declarations: +class CMICmdArgContext; + +//++ ============================================================================ +// Details: MI common code class. Command argument class. Arguments object +// needing specialization derived from the CMICmdArgValBase class. +// An argument knows what type of argument it is and how it is to +// interpret the options (context) string to find and validate a matching +// argument and so extract a value from it. The print-values looks like: +// 0 or --no-values +// 1 or --all-values +// 2 or --simple-values +// Based on the Interpreter pattern. +//-- +class CMICmdArgValPrintValues : public CMICmdArgValBaseTemplate<MIuint> +{ + // Methods: + public: + /* ctor */ CMICmdArgValPrintValues(void); + /* ctor */ CMICmdArgValPrintValues(const CMIUtilString &vrArgName, const bool vbMandatory, const bool vbHandleByCmd); + // + bool IsArgPrintValues(const CMIUtilString &vrTxt) const; + + // Overridden: + public: + // From CMICmdArgValBase + /* dtor */ virtual ~CMICmdArgValPrintValues(void); + // From CMICmdArgSet::IArg + virtual bool Validate(CMICmdArgContext &vArgContext); + + // Methods: + private: + bool ExtractPrintValues(const CMIUtilString &vrTxt); + MIuint GetPrintValues(void) const; + + // Attributes: + private: + MIuint m_nPrintValues; +}; |