Summary: Instead of modifying the swig-generated code, just add the appropriate methods to the interface files in order to get the swig to do the generation for us. This is a straight-forward move from the python script to the interface files. The single class which has nontrivial handling in the script (SBModule) has been left for a separate patch. For the cases where I did not find any tests exercising the iteration/length methods (i.e., no tests failed after I stopped emitting them), I tried to add basic tests for that functionality. Reviewers: zturner, jingham, amccarth Subscribers: jdoerfert, lldb-commits Differential Revision: https://reviews.llvm.org/D60119 llvm-svn: 357572
56 lines
1.2 KiB
C++
56 lines
1.2 KiB
C++
//===-- SWIG Interface for SBStringList -------------------------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
namespace lldb {
|
|
|
|
class SBStringList
|
|
{
|
|
public:
|
|
|
|
SBStringList ();
|
|
|
|
SBStringList (const lldb::SBStringList &rhs);
|
|
|
|
~SBStringList ();
|
|
|
|
bool
|
|
IsValid() const;
|
|
|
|
explicit operator bool() const;
|
|
|
|
void
|
|
AppendString (const char *str);
|
|
|
|
void
|
|
AppendList (const char **strv, int strc);
|
|
|
|
void
|
|
AppendList (const lldb::SBStringList &strings);
|
|
|
|
uint32_t
|
|
GetSize () const;
|
|
|
|
const char *
|
|
GetStringAtIndex (size_t idx);
|
|
|
|
void
|
|
Clear ();
|
|
|
|
%pythoncode%{
|
|
def __iter__(self):
|
|
'''Iterate over all strings in a lldb.SBStringList object.'''
|
|
return lldb_iter(self, 'GetSize', 'GetStringAtIndex')
|
|
|
|
def __len__(self):
|
|
'''Return the number of strings in a lldb.SBStringList object.'''
|
|
return self.GetSize()
|
|
%}
|
|
};
|
|
|
|
} // namespace lldb
|