summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValBase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValBase.cpp')
-rw-r--r--contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValBase.cpp171
1 files changed, 171 insertions, 0 deletions
diff --git a/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValBase.cpp b/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValBase.cpp
new file mode 100644
index 0000000..ceab1a4
--- /dev/null
+++ b/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValBase.cpp
@@ -0,0 +1,171 @@
+//===-- MICmdArgValBase.cpp -------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+//++
+// File: MICmdArgValBase.cpp
+//
+// Overview: CMICmdArgValBase implementation.
+//
+// Environment: Compilers: Visual C++ 12.
+// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
+// Libraries: See MIReadmetxt.
+//
+// Copyright: None.
+//--
+
+// In-house headers:
+#include "MICmdArgValBase.h"
+#include "MIUtilString.h"
+#include "MICmdArgContext.h"
+
+//++ ------------------------------------------------------------------------------------
+// Details: CMICmdArgValBase constructor.
+// Type: Method.
+// Args: None.
+// Return: None.
+// Throws: None.
+//--
+CMICmdArgValBase::CMICmdArgValBase( void )
+: m_bFound( false )
+, m_bValid( false )
+, m_bMandatory( false )
+, m_bHandled( false )
+, m_bIsMissingOptions( false )
+{
+}
+
+//++ ------------------------------------------------------------------------------------
+// Details: CMICmdArgValBase constructor.
+// Type: Method.
+// Args: vrArgName - (R) Argument's name to search by.
+// vbMandatory - (R) True = Yes must be present, false = optional argument.
+// vbHandleByCmd - (R) True = Command processes *this option, false = not handled.
+// Return: None.
+// Throws: None.
+//--
+CMICmdArgValBase::CMICmdArgValBase( const CMIUtilString & vrArgName, const bool vbMandatory, const bool vbHandleByCmd )
+: m_bFound( false )
+, m_bValid( false )
+, m_bMandatory( vbMandatory )
+, m_strArgName( vrArgName )
+, m_bHandled( vbHandleByCmd )
+, m_bIsMissingOptions( false )
+{
+}
+
+//++ ------------------------------------------------------------------------------------
+// Details: CMICmdArgValBase destructor.
+// Type: Overrideable.
+// Args: None.
+// Return: None.
+// Throws: None.
+//--
+CMICmdArgValBase::~CMICmdArgValBase( void )
+{
+}
+
+//++ ------------------------------------------------------------------------------------
+// Details: Retrieve the state flag of whether the argument is handled by the command or
+// not.
+// Type: Method.
+// Args: None.
+// Return: True - Command needs more information.
+// False - All information is present as expected.
+// Throws: None.
+//--
+bool CMICmdArgValBase::GetIsMissingOptions( void ) const
+{
+ return m_bIsMissingOptions;
+}
+
+//++ ------------------------------------------------------------------------------------
+// Details: Retrieve the state flag of whether the argument is handled by the command or
+// not.
+// Type: Method.
+// Args: None.
+// Return: True - Command handles *this argument or option.
+// False - Not handled (argument specified but ignored).
+// Throws: None.
+//--
+bool CMICmdArgValBase::GetIsHandledByCmd( void ) const
+{
+ return m_bHandled;
+}
+
+//++ ------------------------------------------------------------------------------------
+// Details: Retrieve the name of *this argument.
+// Type: Method.
+// Args: None.
+// Return: CMIUtilString & - Return the text name.
+// Throws: None.
+//--
+const CMIUtilString & CMICmdArgValBase::GetName( void ) const
+{
+ return m_strArgName;
+}
+
+//++ ------------------------------------------------------------------------------------
+// Details: Retrieve the state flag of whether the argument was found in the command's
+// argument / options string.
+// Type: Method.
+// Args: None.
+// Return: True - Argument found.
+// False - Argument not found.
+// Throws: None.
+//--
+bool CMICmdArgValBase::GetFound( void ) const
+{
+ return m_bFound;
+}
+
+//++ ------------------------------------------------------------------------------------
+// Details: Retrieve the state flag indicating whether the value was obtained from the
+// text arguments string and is valid.
+// Type: Method.
+// Args: None.
+// Return: True - Argument valid.
+// False - Argument not valid.
+// Throws: None.
+//--
+bool CMICmdArgValBase::GetValid( void ) const
+{
+ return m_bValid;
+}
+
+//++ ------------------------------------------------------------------------------------
+// Details: Retrieve the state flag indicating whether *this argument is a mandatory
+// argument for the command or is optional to be present.
+// Type: Method.
+// Args: None.
+// Return: True - Mandatory.
+// False - Optional.
+// Throws: None.
+//--
+bool CMICmdArgValBase::GetIsMandatory( void ) const
+{
+ return m_bMandatory;
+}
+
+//++ ------------------------------------------------------------------------------------
+// Details: Parse the command's argument options string and try to extract the value *this
+// argument is looking for.
+// Type: Overrideable.
+// Args: vArgContext - (RW) The command's argument options string.
+// Return: MIstatus::success - Functional succeeded.
+// MIstatus::failure - Functional failed.
+// Throws: None.
+//--
+bool CMICmdArgValBase::Validate( CMICmdArgContext & vwArgContext )
+{
+ MIunused( vwArgContext );
+
+ // Override to implement
+
+ return MIstatus::failure;
+} \ No newline at end of file
OpenPOWER on IntegriCloud