diff -r 06589e81fd56 Lib/dis.py --- a/Lib/dis.py Tue Jul 08 09:41:57 2014 -0500 +++ b/Lib/dis.py Tue Jul 08 19:06:44 2014 +0200 @@ -41,6 +41,8 @@ x = x.__func__ if hasattr(x, '__code__'): # Function x = x.__code__ + if hasattr(x, 'gi_code'): # Generator + x = x.gi_code if hasattr(x, '__dict__'): # Class or module items = sorted(x.__dict__.items()) for name, x1 in items: @@ -104,6 +106,8 @@ x = x.__func__ if hasattr(x, '__code__'): # Function x = x.__code__ + if hasattr(x, 'gi_code'): # Generator + x = x.gi_code if isinstance(x, str): # Source code x = _try_compile(x, "") if hasattr(x, 'co_code'): # Code object