[libcxx] Replace func_name with __name__ for compatibility with Python 3

Summary:
The __name__ attribute is the correct way to get a function name in
Python 3. This also works with Python 2.

Reviewers: jroelofs, EricWF

Subscribers: christof, ldionne, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D71136
This commit is contained in:
Sergej Jaskiewicz 2019-12-06 22:17:34 +03:00
parent f387b99745
commit 44c167ace9
1 changed files with 2 additions and 2 deletions

View File

@ -14,7 +14,7 @@ def trace_function(function, log_calls, log_results, label=''):
def wrapper(*args, **kwargs):
kwarg_strs = ['{}={}'.format(k, v) for (k, v) in kwargs]
arg_str = ', '.join([str(a) for a in args] + kwarg_strs)
call_str = '{}({})'.format(function.func_name, arg_str)
call_str = '{}({})'.format(function.__name__, arg_str)
# Perform the call itself, logging before, after, and anything thrown.
try:
@ -36,7 +36,7 @@ def trace_object(obj, log_calls, log_results, label=''):
for name, member in inspect.getmembers(obj):
if inspect.ismethod(member):
# Skip meta-functions, decorate everything else
if not member.func_name.startswith('__'):
if not member.__name__.startswith('__'):
setattr(obj, name, trace_function(member, log_calls,
log_results, label))
return obj