diff options
author | Bruce Mitchener <bruce.mitchener@gmail.com> | 2015-04-24 00:38:53 +0000 |
---|---|---|
committer | Bruce Mitchener <bruce.mitchener@gmail.com> | 2015-04-24 00:38:53 +0000 |
commit | 17d2730ee039692d0ae02ff2cfbea691bf8fcf11 (patch) | |
tree | 482f6c3defc09989f23e6bb62859773f2ae63602 /lldb/scripts/Python/interface/SBValueList.i | |
parent | e1a67412cf1df672f9b12b040db390adfcbd6013 (diff) | |
download | bcm5719-llvm-17d2730ee039692d0ae02ff2cfbea691bf8fcf11.tar.gz bcm5719-llvm-17d2730ee039692d0ae02ff2cfbea691bf8fcf11.zip |
Start to share SWIG interface files between languages.
Summary:
Move scripts/Python/interface to scripts/interface so that we
can start making iterative improvements towards sharing the
interface files between multiple languages (each of which would
have their own directory as now).
Test Plan: Build and see.
Reviewers: zturner, emaste, clayborg
Reviewed By: clayborg
Subscribers: mjsabby, lldb-commits
Differential Revision: http://reviews.llvm.org/D9212
llvm-svn: 235676
Diffstat (limited to 'lldb/scripts/Python/interface/SBValueList.i')
-rw-r--r-- | lldb/scripts/Python/interface/SBValueList.i | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/lldb/scripts/Python/interface/SBValueList.i b/lldb/scripts/Python/interface/SBValueList.i deleted file mode 100644 index 0ba9b7962b7..00000000000 --- a/lldb/scripts/Python/interface/SBValueList.i +++ /dev/null @@ -1,142 +0,0 @@ -//===-- SWIG Interface for SBValueList --------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -namespace lldb { - -%feature("docstring", -"Represents a collection of SBValues. Both SBFrame's GetVariables() and -GetRegisters() return a SBValueList. - -SBValueList supports SBValue iteration. For example (from test/lldbutil.py), - -def get_registers(frame, kind): - '''Returns the registers given the frame and the kind of registers desired. - - Returns None if there's no such kind. - ''' - registerSet = frame.GetRegisters() # Return type of SBValueList. - for value in registerSet: - if kind.lower() in value.GetName().lower(): - return value - - return None - -def get_GPRs(frame): - '''Returns the general purpose registers of the frame as an SBValue. - - The returned SBValue object is iterable. An example: - ... - from lldbutil import get_GPRs - regs = get_GPRs(frame) - for reg in regs: - print '%s => %s' % (reg.GetName(), reg.GetValue()) - ... - ''' - return get_registers(frame, 'general purpose') - -def get_FPRs(frame): - '''Returns the floating point registers of the frame as an SBValue. - - The returned SBValue object is iterable. An example: - ... - from lldbutil import get_FPRs - regs = get_FPRs(frame) - for reg in regs: - print '%s => %s' % (reg.GetName(), reg.GetValue()) - ... - ''' - return get_registers(frame, 'floating point') - -def get_ESRs(frame): - '''Returns the exception state registers of the frame as an SBValue. - - The returned SBValue object is iterable. An example: - ... - from lldbutil import get_ESRs - regs = get_ESRs(frame) - for reg in regs: - print '%s => %s' % (reg.GetName(), reg.GetValue()) - ... - ''' - return get_registers(frame, 'exception state')" -) SBValueList; -class SBValueList -{ -public: - - SBValueList (); - - SBValueList (const lldb::SBValueList &rhs); - - ~SBValueList(); - - bool - IsValid() const; - - void - Clear(); - - void - Append (const lldb::SBValue &val_obj); - - void - Append (const lldb::SBValueList& value_list); - - uint32_t - GetSize() const; - - lldb::SBValue - GetValueAtIndex (uint32_t idx) const; - - lldb::SBValue - FindValueObjectByUID (lldb::user_id_t uid); - - lldb::SBValue - GetFirstValueByName (const char* name) const; - - %pythoncode %{ - def __len__(self): - return int(self.GetSize()) - - def __getitem__(self, key): - count = len(self) - #------------------------------------------------------------ - # Access with "int" to get Nth item in the list - #------------------------------------------------------------ - if type(key) is int: - if key < count: - return self.GetValueAtIndex(key) - #------------------------------------------------------------ - # Access with "str" to get values by name - #------------------------------------------------------------ - elif type(key) is str: - matches = [] - for idx in range(count): - value = self.GetValueAtIndex(idx) - if value.name == key: - matches.append(value) - return matches - #------------------------------------------------------------ - # Match with regex - #------------------------------------------------------------ - elif isinstance(key, type(re.compile('.'))): - matches = [] - for idx in range(count): - value = self.GetValueAtIndex(idx) - re_match = key.search(value.name) - if re_match: - matches.append(value) - return matches - - %} - - -}; - -} // namespace lldb |