Functions which have format strings or other means of determining the proper types and count of parameters at a given call site need to have special handling.
I imagine an API that works something like this:
def get_arguments_for_variadic_function(format_string_parameter_value: str) -> List[(Type, str)]
return <calculate number and type of arguments from format_string_parameter, and parameter names if available>
RegisterForFormatStringHandling('printf', get_arguments_for_variadic_function)
Functions which have format strings or other means of determining the proper types and count of parameters at a given call site need to have special handling.
I imagine an API that works something like this: