1 //===-- MICmnMIValueList.h --------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
13 #include "MICmnMIValue.h"
14 #include "MICmnMIValueResult.h"
17 //============================================================================
18 // Details: MI common code MI Result class. Part of the CMICmnMIValueListRecord
20 // The syntax is as follows:
21 // result-record ==> [ token ] "^" result-class ( "," result )* nl
22 // token = any sequence of digits
25 // result-class ==> "done" | "running" | "connected" | "error" | "exit"
26 // result ==> variable "=" value
27 // value ==> const | tuple | list
28 // const ==> c-string (7 bit iso c string content)
29 // tuple ==> "{}" | "{" result ( "," result )* "}"
30 // list ==> "[]" | "[" value ( "," value )* "]" | "[" result ( ","
32 // More information see:
33 // http://ftp.gnu.org/old-gnu/Manuals/gdb-5.1.1/html_chapter/gdb_22.html
35 class CMICmnMIValueList : public CMICmnMIValue {
38 /* ctor */ CMICmnMIValueList(const bool vbValueTypeList);
39 /* ctor */ CMICmnMIValueList(const CMICmnMIValueResult &vResult);
40 /* ctor */ CMICmnMIValueList(const CMICmnMIValue &vValue);
42 void Add(const CMICmnMIValueResult &vResult);
43 void Add(const CMICmnMIValue &vValue);
44 CMIUtilString ExtractContentNoBrackets() const;
49 /* dtor */ ~CMICmnMIValueList() override;
54 void BuildList(const CMICmnMIValueResult &vResult);
55 void BuildList(const CMICmnMIValue &vResult);