17be5a4fbd576ca1aa35f83fa9e696e2f53463847Johnny Chen//===-- SWIG Interface for SBValue ------------------------------*- C++ -*-===// 2854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen// 3854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen// The LLVM Compiler Infrastructure 4854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen// 5854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen// This file is distributed under the University of Illinois Open Source 6854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen// License. See LICENSE.TXT for details. 7854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen// 8854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen//===----------------------------------------------------------------------===// 9854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 10854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chennamespace lldb { 11854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 12854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen%feature("docstring", 13854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen"Represents the value of a variable, a register, or an expression. 14854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 15854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenSBValue supports iteration through its child, which in turn is represented 16854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chenas an SBValue. For example, we can get the general purpose registers of a 17854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chenframe as an SBValue, and iterate through all the registers, 18854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 19854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen registerSet = frame.GetRegisters() # Returns an SBValueList. 20854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen for regs in registerSet: 21854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen if 'general purpose registers' in regs.getName().lower(): 22854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GPRs = regs 23854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen break 24854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 25854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen print '%s (number of children = %d):' % (GPRs.GetName(), GPRs.GetNumChildren()) 26854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen for reg in GPRs: 27854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen print 'Name: ', reg.GetName(), ' Value: ', reg.GetValue() 28854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 29854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chenproduces the output: 30854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 31854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenGeneral Purpose Registers (number of children = 21): 32854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: rax Value: 0x0000000100000c5c 33854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: rbx Value: 0x0000000000000000 34854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: rcx Value: 0x00007fff5fbffec0 35854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: rdx Value: 0x00007fff5fbffeb8 36854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: rdi Value: 0x0000000000000001 37854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: rsi Value: 0x00007fff5fbffea8 38854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: rbp Value: 0x00007fff5fbffe80 39854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: rsp Value: 0x00007fff5fbffe60 40854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: r8 Value: 0x0000000008668682 41854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: r9 Value: 0x0000000000000000 42854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: r10 Value: 0x0000000000001200 43854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: r11 Value: 0x0000000000000206 44854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: r12 Value: 0x0000000000000000 45854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: r13 Value: 0x0000000000000000 46854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: r14 Value: 0x0000000000000000 47854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: r15 Value: 0x0000000000000000 48854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: rip Value: 0x0000000100000dae 49854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: rflags Value: 0x0000000000000206 50854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: cs Value: 0x0000000000000027 51854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny ChenName: fs Value: 0x0000000000000010 52de856cc86c68a51e93aa72b8a478faf50de663c0Johnny ChenName: gs Value: 0x0000000000000048 53de856cc86c68a51e93aa72b8a478faf50de663c0Johnny Chen 54de856cc86c68a51e93aa72b8a478faf50de663c0Johnny ChenSee also linked_list_iter() for another perspective on how to iterate through an 55de856cc86c68a51e93aa72b8a478faf50de663c0Johnny ChenSBValue instance which interprets the value object as representing the head of a 56de856cc86c68a51e93aa72b8a478faf50de663c0Johnny Chenlinked list." 57c3fba812b636dcdede81be622d557efbdc834240Johnny Chen) SBValue; 58854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chenclass SBValue 59854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen{ 60854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chenpublic: 61854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen SBValue (); 62854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 63854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen SBValue (const SBValue &rhs); 64854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 65854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen ~SBValue (); 66854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 67854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen bool 68d68e089f8353eaf845c3559dac6d47b32830974fGreg Clayton IsValid(); 69854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 70e0bd571a8050da2b3462c35c9f209cbc9755c750Jim Ingham void 71e0bd571a8050da2b3462c35c9f209cbc9755c750Jim Ingham Clear(); 72e0bd571a8050da2b3462c35c9f209cbc9755c750Jim Ingham 73854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen SBError 74854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetError(); 75854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 76854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen lldb::user_id_t 77854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetID (); 78854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 79854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen const char * 80854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetName(); 81854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 82854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen const char * 83854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetTypeName (); 84854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 85854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen size_t 86854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetByteSize (); 87854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 88854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen bool 89854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen IsInScope (); 90854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 91854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen lldb::Format 92d68e089f8353eaf845c3559dac6d47b32830974fGreg Clayton GetFormat (); 93854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 94854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen void 95854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen SetFormat (lldb::Format format); 96854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 97854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen const char * 98854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetValue (); 99854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 1000fb0bcc9d4e951145e1b8c783652224c09b23af4Greg Clayton int64_t 101c92eb4004a354b0ea085b610b2ba991e575b1c32Enrico Granata GetValueAsSigned(SBError& error, int64_t fail_value=0); 1020fb0bcc9d4e951145e1b8c783652224c09b23af4Greg Clayton 1030fb0bcc9d4e951145e1b8c783652224c09b23af4Greg Clayton uint64_t 104c92eb4004a354b0ea085b610b2ba991e575b1c32Enrico Granata GetValueAsUnsigned(SBError& error, uint64_t fail_value=0); 105c92eb4004a354b0ea085b610b2ba991e575b1c32Enrico Granata 106c92eb4004a354b0ea085b610b2ba991e575b1c32Enrico Granata int64_t 107c92eb4004a354b0ea085b610b2ba991e575b1c32Enrico Granata GetValueAsSigned(int64_t fail_value=0); 108c92eb4004a354b0ea085b610b2ba991e575b1c32Enrico Granata 109c92eb4004a354b0ea085b610b2ba991e575b1c32Enrico Granata uint64_t 1100fb0bcc9d4e951145e1b8c783652224c09b23af4Greg Clayton GetValueAsUnsigned(uint64_t fail_value=0); 1110fb0bcc9d4e951145e1b8c783652224c09b23af4Greg Clayton 112854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen ValueType 113854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetValueType (); 114854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 115854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen bool 116854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetValueDidChange (); 117854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 118854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen const char * 119854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetSummary (); 120854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 121854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen const char * 122854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetObjectDescription (); 123854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 1241b42575189379cb0c1441f74a48127e9ab7335e3Jim Ingham lldb::SBValue 1251b42575189379cb0c1441f74a48127e9ab7335e3Jim Ingham GetDynamicValue (lldb::DynamicValueType use_dynamic); 1261b42575189379cb0c1441f74a48127e9ab7335e3Jim Ingham 1271b42575189379cb0c1441f74a48127e9ab7335e3Jim Ingham lldb::SBValue 1281b42575189379cb0c1441f74a48127e9ab7335e3Jim Ingham GetStaticValue (); 1291b42575189379cb0c1441f74a48127e9ab7335e3Jim Ingham 130dba1de8d585f27601162f674d30ab71d9c83ccdeEnrico Granata lldb::SBValue 131dba1de8d585f27601162f674d30ab71d9c83ccdeEnrico Granata GetNonSyntheticValue (); 1323d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata 1333d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata lldb::DynamicValueType 1343d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata GetPreferDynamicValue (); 1353d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata 1363d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata void 1373d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata SetPreferDynamicValue (lldb::DynamicValueType use_dynamic); 1383d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata 1393d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata bool 1403d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata GetPreferSyntheticValue (); 1413d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata 1423d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata void 1433d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata SetPreferSyntheticValue (bool use_synthetic); 144dba1de8d585f27601162f674d30ab71d9c83ccdeEnrico Granata 1451b42575189379cb0c1441f74a48127e9ab7335e3Jim Ingham bool 1461b42575189379cb0c1441f74a48127e9ab7335e3Jim Ingham IsDynamic(); 1473d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata 1483d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata bool 1493d656c729a1ed0abad4e5a2d76f6e8a6904f66aaEnrico Granata IsSynthetic (); 1501b42575189379cb0c1441f74a48127e9ab7335e3Jim Ingham 151854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen const char * 152854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetLocation (); 153854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 154854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen bool 155854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen SetValueFromCString (const char *value_str); 156854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 157651cbe2e3f6efb8bd579a5007c2d2f90f0ab7633Enrico Granata bool 158651cbe2e3f6efb8bd579a5007c2d2f90f0ab7633Enrico Granata SetValueFromCString (const char *value_str, lldb::SBError& error); 159651cbe2e3f6efb8bd579a5007c2d2f90f0ab7633Enrico Granata 160d760907c1d42726fa0c8c48efa28385ed339bb94Enrico Granata lldb::SBTypeFormat 161d760907c1d42726fa0c8c48efa28385ed339bb94Enrico Granata GetTypeFormat (); 162d760907c1d42726fa0c8c48efa28385ed339bb94Enrico Granata 163d760907c1d42726fa0c8c48efa28385ed339bb94Enrico Granata lldb::SBTypeSummary 164d760907c1d42726fa0c8c48efa28385ed339bb94Enrico Granata GetTypeSummary (); 165d760907c1d42726fa0c8c48efa28385ed339bb94Enrico Granata 166d760907c1d42726fa0c8c48efa28385ed339bb94Enrico Granata lldb::SBTypeFilter 167d760907c1d42726fa0c8c48efa28385ed339bb94Enrico Granata GetTypeFilter (); 168d760907c1d42726fa0c8c48efa28385ed339bb94Enrico Granata 169d760907c1d42726fa0c8c48efa28385ed339bb94Enrico Granata lldb::SBTypeSynthetic 170d760907c1d42726fa0c8c48efa28385ed339bb94Enrico Granata GetTypeSynthetic (); 171d760907c1d42726fa0c8c48efa28385ed339bb94Enrico Granata 172854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen lldb::SBValue 173854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetChildAtIndex (uint32_t idx); 174854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 175854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen %feature("docstring", " 176854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen //------------------------------------------------------------------ 177854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// Get a child value by index from a value. 178854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 179854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// Structs, unions, classes, arrays and and pointers have child 180854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// values that can be access by index. 181854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 182854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// Structs and unions access child members using a zero based index 183854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// for each child member. For 184854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 185854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// Classes reserve the first indexes for base classes that have 186854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// members (empty base classes are omitted), and all members of the 187854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// current class will then follow the base classes. 188854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 189854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// Pointers differ depending on what they point to. If the pointer 190854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// points to a simple type, the child at index zero 191854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// is the only child value available, unless \a synthetic_allowed 192854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// is \b true, in which case the pointer will be used as an array 193854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// and can create 'synthetic' child values using positive or 194854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// negative indexes. If the pointer points to an aggregate type 195854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// (an array, class, union, struct), then the pointee is 196854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// transparently skipped and any children are going to be the indexes 197854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// of the child values within the aggregate type. For example if 198854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// we have a 'Point' type and we have a SBValue that contains a 199854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// pointer to a 'Point' type, then the child at index zero will be 200854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// the 'x' member, and the child at index 1 will be the 'y' member 201854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// (the child at index zero won't be a 'Point' instance). 202854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 203854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// Arrays have a preset number of children that can be accessed by 204854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// index and will returns invalid child values for indexes that are 205854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// out of bounds unless the \a synthetic_allowed is \b true. In this 206854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// case the array can create 'synthetic' child values for indexes 207854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// that aren't in the array bounds using positive or negative 208854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// indexes. 209854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 210854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// @param[in] idx 211854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// The index of the child value to get 212854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 213854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// @param[in] use_dynamic 214854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// An enumeration that specifies wether to get dynamic values, 215854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// and also if the target can be run to figure out the dynamic 216854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// type of the child value. 217854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 218854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// @param[in] synthetic_allowed 219854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// If \b true, then allow child values to be created by index 220854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// for pointers and arrays for indexes that normally wouldn't 221854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// be allowed. 222854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 223854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// @return 224854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// A new SBValue object that represents the child member value. 225854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen //------------------------------------------------------------------ 226854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen ") GetChildAtIndex; 227854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen lldb::SBValue 228854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetChildAtIndex (uint32_t idx, 229854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen lldb::DynamicValueType use_dynamic, 230854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen bool can_create_synthetic); 231979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata 232979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata lldb::SBValue 233d68e089f8353eaf845c3559dac6d47b32830974fGreg Clayton CreateChildAtOffset (const char *name, uint32_t offset, lldb::SBType type); 234979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata 235979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata lldb::SBValue 236d68e089f8353eaf845c3559dac6d47b32830974fGreg Clayton SBValue::Cast (lldb::SBType type); 237854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 238979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata lldb::SBValue 239979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata CreateValueFromExpression (const char *name, const char* expression); 24047beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham 24147beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham lldb::SBValue 24247beabb1386be44e3f90dbc30a0b22c23b93a4dcJim Ingham CreateValueFromExpression (const char *name, const char* expression, SBExpressionOptions &options); 243979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata 244979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata lldb::SBValue 245d68e089f8353eaf845c3559dac6d47b32830974fGreg Clayton CreateValueFromAddress(const char* name, lldb::addr_t address, lldb::SBType type); 246979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata 247915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata lldb::SBValue 248915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata CreateValueFromData (const char* name, 249d68e089f8353eaf845c3559dac6d47b32830974fGreg Clayton lldb::SBData data, 250d68e089f8353eaf845c3559dac6d47b32830974fGreg Clayton lldb::SBType type); 251915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata 252979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata lldb::SBType 253979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata GetType(); 254979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata 255854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen %feature("docstring", " 256854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen //------------------------------------------------------------------ 257854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// Returns the child member index. 258854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 259854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// Matches children of this object only and will match base classes and 260854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// member names if this is a clang typed object. 261854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 262854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// @param[in] name 263854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// The name of the child value to get 264854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 265854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// @return 266854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// An index to the child member value. 267854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen //------------------------------------------------------------------ 268854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen ") GetIndexOfChildWithName; 269854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen uint32_t 270854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetIndexOfChildWithName (const char *name); 271854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 272854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen lldb::SBValue 273854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetChildMemberWithName (const char *name); 274854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 275854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen %feature("docstring", " 276854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen //------------------------------------------------------------------ 277854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// Returns the child member value. 278854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 279854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// Matches child members of this object and child members of any base 280854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// classes. 281854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 282854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// @param[in] name 283854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// The name of the child value to get 284854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 285854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// @param[in] use_dynamic 286854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// An enumeration that specifies wether to get dynamic values, 287854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// and also if the target can be run to figure out the dynamic 288854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// type of the child value. 289854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// 290854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// @return 291854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen /// A new SBValue object that represents the child member value. 292854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen //------------------------------------------------------------------ 293854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen ") GetChildMemberWithName; 294854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen lldb::SBValue 295854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetChildMemberWithName (const char *name, lldb::DynamicValueType use_dynamic); 296854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 297854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen %feature("docstring", "Expands nested expressions like .a->b[0].c[1]->d." 298854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen ) GetValueForExpressionPath; 299854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen lldb::SBValue 300854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetValueForExpressionPath(const char* expr_path); 301854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 30249306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata lldb::SBDeclaration 30349306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata GetDeclaration (); 30449306144bb37f0b3423d992f17cdcc24703374b4Enrico Granata 30554037b1488e3344575714d8358728e042fa801c7Greg Clayton bool 30654037b1488e3344575714d8358728e042fa801c7Greg Clayton MightHaveChildren (); 30754037b1488e3344575714d8358728e042fa801c7Greg Clayton 308854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen uint32_t 309854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetNumChildren (); 310854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 311854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen void * 312854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetOpaqueType(); 313854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 314854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen lldb::SBValue 315854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen Dereference (); 316854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 317979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata lldb::SBValue 318979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata AddressOf(); 319979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata 320854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen bool 321854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen TypeIsPointerType (); 322979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata 323979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata lldb::SBTarget 324979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata GetTarget(); 325854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 326979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata lldb::SBProcess 327979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata GetProcess(); 328979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata 329979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata lldb::SBThread 330979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata GetThread(); 331979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata 332979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata lldb::SBFrame 333979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata GetFrame(); 334979e20d127335143ffc89c2e37ec3a8b717ff22dEnrico Granata 335ecd4feb5111432d2878e95461220c720cb2d24c8Johnny Chen %feature("docstring", " 336ecd4feb5111432d2878e95461220c720cb2d24c8Johnny Chen /// Find and watch a variable. 337ecd4feb5111432d2878e95461220c720cb2d24c8Johnny Chen /// It returns an SBWatchpoint, which may be invalid. 338ecd4feb5111432d2878e95461220c720cb2d24c8Johnny Chen ") Watch; 3391fa6b3d6c83955fe06c63d3a4025f2c0ec431d68Greg Clayton lldb::SBWatchpoint 3403f883496e92fce5011f6bf585af3ac6d1cddb64fJohnny Chen Watch (bool resolve_location, bool read, bool write, SBError &error); 3411fa6b3d6c83955fe06c63d3a4025f2c0ec431d68Greg Clayton 342ecd4feb5111432d2878e95461220c720cb2d24c8Johnny Chen %feature("docstring", " 343ecd4feb5111432d2878e95461220c720cb2d24c8Johnny Chen /// Find and watch the location pointed to by a variable. 344ecd4feb5111432d2878e95461220c720cb2d24c8Johnny Chen /// It returns an SBWatchpoint, which may be invalid. 345ecd4feb5111432d2878e95461220c720cb2d24c8Johnny Chen ") WatchPointee; 3461fa6b3d6c83955fe06c63d3a4025f2c0ec431d68Greg Clayton lldb::SBWatchpoint 3473f883496e92fce5011f6bf585af3ac6d1cddb64fJohnny Chen WatchPointee (bool resolve_location, bool read, bool write, SBError &error); 3481fa6b3d6c83955fe06c63d3a4025f2c0ec431d68Greg Clayton 349854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen bool 350854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetDescription (lldb::SBStream &description); 351854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 352854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen bool 353854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetExpressionPath (lldb::SBStream &description); 354915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata 355915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata %feature("docstring", " 356915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata //------------------------------------------------------------------ 357915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// Get an SBData wrapping what this SBValue points to. 358915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// 359915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// This method will dereference the current SBValue, if its 360915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// data type is a T* or T[], and extract item_count elements 361915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// of type T from it, copying their contents in an SBData. 362915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// 363915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// @param[in] item_idx 364915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// The index of the first item to retrieve. For an array 365915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// this is equivalent to array[item_idx], for a pointer 366915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// to *(pointer + item_idx). In either case, the measurement 367915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// unit for item_idx is the sizeof(T) rather than the byte 368915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// 369915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// @param[in] item_count 370915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// How many items should be copied into the output. By default 371915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// only one item is copied, but more can be asked for. 372915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// 373915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// @return 374915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// An SBData with the contents of the copied items, on success. 375915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// An empty SBData otherwise. 376915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata //------------------------------------------------------------------ 377915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata ") GetPointeeData; 378915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata lldb::SBData 379915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata GetPointeeData (uint32_t item_idx = 0, 380915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata uint32_t item_count = 1); 381915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata 382915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata %feature("docstring", " 383915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata //------------------------------------------------------------------ 384915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// Get an SBData wrapping the contents of this SBValue. 385915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// 386915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// This method will read the contents of this object in memory 387915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// and copy them into an SBData for future use. 388915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// 389915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// @return 390915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// An SBData with the contents of this SBValue, on success. 391915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata /// An empty SBData otherwise. 392915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata //------------------------------------------------------------------ 393915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata ") GetData; 394915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata lldb::SBData 395915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata GetData (); 396847a0ad45234f216384c3d994ef6d0bc3f14c2caSean Callanan 397847a0ad45234f216384c3d994ef6d0bc3f14c2caSean Callanan bool 398847a0ad45234f216384c3d994ef6d0bc3f14c2caSean Callanan SetData (lldb::SBData &data, lldb::SBError& error); 399915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata 400915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata lldb::addr_t 401915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata GetLoadAddress(); 402915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata 403915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata lldb::SBAddress 404915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata GetAddress(); 405854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 406854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen %feature("docstring", "Returns an expression path for this value." 407915448044bac6fdac22a33cc46697dcb771a8df2Enrico Granata ) GetExpressionPath; 408854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen bool 409854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen GetExpressionPath (lldb::SBStream &description, bool qualify_cxx_base_classes); 4101b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4111b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton %pythoncode %{ 412d41abdc25bee7dd73b482d65c391255f55c1df0dGreg Clayton def __get_dynamic__ (self): 413d41abdc25bee7dd73b482d65c391255f55c1df0dGreg Clayton '''Helper function for the "SBValue.dynamic" property.''' 414d41abdc25bee7dd73b482d65c391255f55c1df0dGreg Clayton return self.GetDynamicValue (eDynamicCanRunTarget) 415d41abdc25bee7dd73b482d65c391255f55c1df0dGreg Clayton 4161b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["name"] = GetName 4172a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: name = property(GetName, None, doc='''A read only property that returns the name of this value as a string.''') 4181b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4191b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["type"] = GetType 4202a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: type = property(GetType, None, doc='''A read only property that returns a lldb.SBType object that represents the type for this value.''') 4211b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4221b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["size"] = GetByteSize 4232a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: size = property(GetByteSize, None, doc='''A read only property that returns the size in bytes of this value.''') 4241b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4251b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["is_in_scope"] = IsInScope 4262a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: is_in_scope = property(IsInScope, None, doc='''A read only property that returns a boolean value that indicates whether this value is currently lexically in scope.''') 4271b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4281b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["format"] = GetFormat 4291b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_setmethods__["format"] = SetFormat 4302a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: format = property(GetName, SetFormat, doc='''A read/write property that gets/sets the format used for lldb.SBValue().GetValue() for this value. See enumerations that start with "lldb.eFormat".''') 4311b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4321b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["value"] = GetValue 4331b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_setmethods__["value"] = SetValueFromCString 4342a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: value = property(GetValue, SetValueFromCString, doc='''A read/write property that gets/sets value from a string.''') 4351b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4361b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["value_type"] = GetValueType 4372a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: value_type = property(GetValueType, None, doc='''A read only property that returns an lldb enumeration value (see enumerations that start with "lldb.eValueType") that represents the type of this value (local, argument, global, register, etc.).''') 4381b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4391b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["changed"] = GetValueDidChange 4402a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: changed = property(GetValueDidChange, None, doc='''A read only property that returns a boolean value that indicates if this value has changed since it was last updated.''') 4411b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4421b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["data"] = GetData 4432a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: data = property(GetData, None, doc='''A read only property that returns an lldb object (lldb.SBData) that represents the bytes that make up the value for this object.''') 4441b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4451b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["load_addr"] = GetLoadAddress 4462a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: load_addr = property(GetLoadAddress, None, doc='''A read only property that returns the load address of this value as an integer.''') 4471b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4481b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["addr"] = GetAddress 4492a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: addr = property(GetAddress, None, doc='''A read only property that returns an lldb.SBAddress that represents the address of this value if it is in memory.''') 4501b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4511b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["deref"] = Dereference 4522a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: deref = property(Dereference, None, doc='''A read only property that returns an lldb.SBValue that is created by dereferencing this value.''') 4531b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4541b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["address_of"] = AddressOf 4552a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: address_of = property(AddressOf, None, doc='''A read only property that returns an lldb.SBValue that represents the address-of this value.''') 4561b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4571b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["error"] = GetError 4582a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: error = property(GetError, None, doc='''A read only property that returns the lldb.SBError that represents the error from the last time the variable value was calculated.''') 4591b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4601b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["summary"] = GetSummary 4612a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: summary = property(GetSummary, None, doc='''A read only property that returns the summary for this value as a string''') 4621b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4631b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["description"] = GetObjectDescription 4642a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: description = property(GetObjectDescription, None, doc='''A read only property that returns the language-specific description of this value as a string''') 465d41abdc25bee7dd73b482d65c391255f55c1df0dGreg Clayton 466d41abdc25bee7dd73b482d65c391255f55c1df0dGreg Clayton __swig_getmethods__["dynamic"] = __get_dynamic__ 4672a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: dynamic = property(__get_dynamic__, None, doc='''A read only property that returns an lldb.SBValue that is created by finding the dynamic type of this value.''') 468d41abdc25bee7dd73b482d65c391255f55c1df0dGreg Clayton 4691b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["location"] = GetLocation 4702a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: location = property(GetLocation, None, doc='''A read only property that returns the location of this value as a string.''') 4711b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4721b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["target"] = GetTarget 4732a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: target = property(GetTarget, None, doc='''A read only property that returns the lldb.SBTarget that this value is associated with.''') 4741b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4751b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["process"] = GetProcess 4762a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: process = property(GetProcess, None, doc='''A read only property that returns the lldb.SBProcess that this value is associated with, the returned value might be invalid and should be tested.''') 4771b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4781b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["thread"] = GetThread 4792a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: thread = property(GetThread, None, doc='''A read only property that returns the lldb.SBThread that this value is associated with, the returned value might be invalid and should be tested.''') 4801b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4811b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["frame"] = GetFrame 4822a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: frame = property(GetFrame, None, doc='''A read only property that returns the lldb.SBFrame that this value is associated with, the returned value might be invalid and should be tested.''') 4831b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 4841b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton __swig_getmethods__["num_children"] = GetNumChildren 4852a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: num_children = property(GetNumChildren, None, doc='''A read only property that returns the number of child lldb.SBValues that this value has.''') 4861b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 487d62b9c18f3fc567fa536e04faadd518cd363a22eGreg Clayton __swig_getmethods__["unsigned"] = GetValueAsUnsigned 4882a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: unsigned = property(GetValueAsUnsigned, None, doc='''A read only property that returns the value of this SBValue as an usigned integer.''') 489d62b9c18f3fc567fa536e04faadd518cd363a22eGreg Clayton 490d62b9c18f3fc567fa536e04faadd518cd363a22eGreg Clayton __swig_getmethods__["signed"] = GetValueAsSigned 4912a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: signed = property(GetValueAsSigned, None, doc='''A read only property that returns the value of this SBValue as a signed integer.''') 492d62b9c18f3fc567fa536e04faadd518cd363a22eGreg Clayton 493d62b9c18f3fc567fa536e04faadd518cd363a22eGreg Clayton def get_expr_path(self): 494d62b9c18f3fc567fa536e04faadd518cd363a22eGreg Clayton s = SBStream() 495d62b9c18f3fc567fa536e04faadd518cd363a22eGreg Clayton self.GetExpressionPath (s) 496d62b9c18f3fc567fa536e04faadd518cd363a22eGreg Clayton return s.GetData() 497d62b9c18f3fc567fa536e04faadd518cd363a22eGreg Clayton 498d62b9c18f3fc567fa536e04faadd518cd363a22eGreg Clayton __swig_getmethods__["path"] = get_expr_path 4992a94be1aa46c90d6749d8c96ed396d5ebde452cdGreg Clayton if _newclass: path = property(get_expr_path, None, doc='''A read only property that returns the expression path that one can use to reach this value in an expression.''') 5001b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton %} 5011b925206e3c4867fea9eb55a4c6460962cf32564Greg Clayton 502854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen}; 503854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen 504854a1ba617fded6eb054b3f93b3299d0a7173ca1Johnny Chen} // namespace lldb 505