================
@@ -188,8 +188,13 @@ class ScriptedPythonInterface : virtual public
ScriptedInterface {
// This addresses the cases where the embedded interpreter session
// dictionary is passed to the extension initializer which is not used
// most of the time.
+ // Note, though none of our API's suggest defining the interfaces with
+ // varargs, we have some extant clients that were doing that. To keep
+ // from breaking them, we just say putting a varargs in these signatures
+ // turns off argument checking.
size_t num_args = sizeof...(Args);
- if (num_args != arg_info->max_positional_args) {
+ if (arg_info->max_positional_args != PythonCallable::ArgInfo::UNBOUNDED
&&
----------------
JDevlieghere wrote:
If we wanted to discourage this pattern, we could emit a warning with
`Debugger::ReportWarning`. It takes an optional `once_flag` that would allow us
to limit this warning to once per ScriptedPythonInterface instance or even once
per lldb instance if we made it static.
https://github.com/llvm/llvm-project/pull/166883
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits