]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdSupportList.cpp
Update LLDB snapshot to upstream r225923 (git 2b588ecd)
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / lldb / tools / lldb-mi / MICmdCmdSupportList.cpp
1 //===-- MICmdCmdSupportList.cpp ---------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 //++
11 // File:        MICmdCmdSupportList.cpp
12 //
13 // Overview:    CMICmdCmdSupportListFeatures            implementation.
14 //
15 // Environment: Compilers:  Visual C++ 12.
16 //                          gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
17 //              Libraries:  See MIReadmetxt.
18 //
19 // Copyright:   None.
20 //--
21
22 // In-house headers:
23 #include "MICmdCmdSupportList.h"
24 #include "MICmnMIResultRecord.h"
25 #include "MICmnMIValueConst.h"
26 #include "MICmnMIValueList.h"
27
28 //++ ------------------------------------------------------------------------------------
29 // Details: CMICmdCmdSupportListFeatures constructor.
30 // Type:    Method.
31 // Args:    None.
32 // Return:  None.
33 // Throws:  None.
34 //--
35 CMICmdCmdSupportListFeatures::CMICmdCmdSupportListFeatures(void)
36 {
37     // Command factory matches this name with that received from the stdin stream
38     m_strMiCmd = "list-features";
39
40     // Required by the CMICmdFactory when registering *this command
41     m_pSelfCreatorFn = &CMICmdCmdSupportListFeatures::CreateSelf;
42 }
43
44 //++ ------------------------------------------------------------------------------------
45 // Details: CMICmdCmdSupportListFeatures destructor.
46 // Type:    Overrideable.
47 // Args:    None.
48 // Return:  None.
49 // Throws:  None.
50 //--
51 CMICmdCmdSupportListFeatures::~CMICmdCmdSupportListFeatures(void)
52 {
53 }
54
55 //++ ------------------------------------------------------------------------------------
56 // Details: The invoker requires this function. The command does work in this function.
57 //          The command is likely to communicate with the LLDB SBDebugger in here.
58 // Type:    Overridden.
59 // Args:    None.
60 // Return:  MIstatus::success - Functional succeeded.
61 //          MIstatus::failure - Functional failed.
62 // Throws:  None.
63 //--
64 bool
65 CMICmdCmdSupportListFeatures::Execute(void)
66 {
67     // Do nothing
68
69     return MIstatus::success;
70 }
71
72 //++ ------------------------------------------------------------------------------------
73 // Details: The invoker requires this function. The command prepares a MI Record Result
74 //          for the work carried out in the Execute().
75 // Type:    Overridden.
76 // Args:    None.
77 // Return:  MIstatus::success - Functional succeeded.
78 //          MIstatus::failure - Functional failed.
79 // Throws:  None.
80 //--
81 bool
82 CMICmdCmdSupportListFeatures::Acknowledge(void)
83 {
84     const CMICmnMIValueConst miValueConst("data-read-memory-bytes");
85     const CMICmnMIValueList miValueList(miValueConst);
86     const CMICmnMIValueResult miValueResult("features", miValueList);
87     const CMICmnMIResultRecord miRecordResult(m_cmdData.strMiCmdToken, CMICmnMIResultRecord::eResultClass_Done, miValueResult);
88     m_miResultRecord = miRecordResult;
89
90     return MIstatus::success;
91 }
92
93 //++ ------------------------------------------------------------------------------------
94 // Details: Required by the CMICmdFactory when registering *this command. The factory
95 //          calls this function to create an instance of *this command.
96 // Type:    Static method.
97 // Args:    None.
98 // Return:  CMICmdBase * - Pointer to a new command.
99 // Throws:  None.
100 //--
101 CMICmdBase *
102 CMICmdCmdSupportListFeatures::CreateSelf(void)
103 {
104     return new CMICmdCmdSupportListFeatures();
105 }