Overloading with different numbers of arguments works with no problems, and we use that in a bunch of places in the SB API. I seem to remember that SWIG doesn't always get more subtle overloading (float vrs. double) right, but I can't bring a specific example to mind. Anyway, Greg's solution should work just fine.
Jim > On Jun 11, 2018, at 12:20 PM, Leonard Mosescu via lldb-dev > <lldb-dev@lists.llvm.org> wrote: > > Thanks. I wasn't sure how well C++ overloading works with SWIG, that's > definitely a more ergonomic solution. > > > On Fri, Jun 8, 2018 at 1:16 PM, Greg Clayton <clayb...@gmail.com> wrote: > > >> On Jun 8, 2018, at 12:54 PM, Leonard Mosescu via lldb-dev >> <lldb-dev@lists.llvm.org> wrote: >> >> What is the governing philosophy around making changes to the SB API? The >> "SB API Coding Rules" >> page establishes the practices on how to avoid introducing accidental >> incompatibility, but what >> about the cases where there's a case for intentionally making changes? >> >> For example, I'd like to make a small change to SBTarget to allow surfacing >> errors during LoadCore(): >> >> SBProcess SBTarget::LoadCore(const char *core_file) >> >> And add an explicit out error parameter (in line with SBTarget::Attach(), >> Launch(), ...): >> >> SBProcess SBTarget::LoadCore(const char *core_file, SBError &error) >> >> If the rule is to strictly avoid any kind of changes then I'd have to resort >> to >> a COM-like versioning and introduce a new SBTarget::LoadCore2 (or >> LoadCoreEx, ... pick >> your poison, I'm not set on any name) while also keeping the existing >> LoadCore(). >> >> Any guidance on this? Thanks! >> > > Just add an extra overloaded version of LoadCore. We don't want people's code > to not link and since Apple uses a LLDBRPC.framework that sub-launches a > lldb-rpc-server which can connect to older LLDB.framework binaries, we can't > remove functions. > > Greg > >> >> _______________________________________________ >> lldb-dev mailing list >> lldb-dev@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev > > > _______________________________________________ > lldb-dev mailing list > lldb-dev@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev