bpo-38605: Revert making 'from future import annotations' the def… · python/cpython@b0544ba (original) (raw)
`@@ -45,7 +45,6 @@
`
45
45
`import tokenize
`
46
46
`import token
`
47
47
`import types
`
48
``
`-
import typing
`
49
48
`import warnings
`
50
49
`import functools
`
51
50
`import builtins
`
`@@ -1893,10 +1892,7 @@ def _signature_is_functionlike(obj):
`
1893
1892
`code = getattr(obj, 'code', None)
`
1894
1893
`defaults = getattr(obj, 'defaults', _void) # Important to use _void ...
`
1895
1894
`kwdefaults = getattr(obj, 'kwdefaults', _void) # ... and not None here
`
1896
``
`-
try:
`
1897
``
`-
annotations = _get_type_hints(obj)
`
1898
``
`-
except AttributeError:
`
1899
``
`-
annotations = None
`
``
1895
`+
annotations = getattr(obj, 'annotations', None)
`
1900
1896
``
1901
1897
`return (isinstance(code, types.CodeType) and
`
1902
1898
`isinstance(name, str) and
`
`@@ -2137,16 +2133,6 @@ def p(name_node, default_node, default=empty):
`
2137
2133
``
2138
2134
`return cls(parameters, return_annotation=cls.empty)
`
2139
2135
``
2140
``
`-
def _get_type_hints(func, **kwargs):
`
2141
``
`-
try:
`
2142
``
`-
return typing.get_type_hints(func, **kwargs)
`
2143
``
`-
except Exception:
`
2144
``
`-
First, try to use the get_type_hints to resolve
`
2145
``
`-
annotations. But for keeping the behavior intact
`
2146
``
`-
if there was a problem with that (like the namespace
`
2147
``
`-
can't resolve some annotation) continue to use
`
2148
``
`-
string annotations
`
2149
``
`-
return func.annotations
`
2150
2136
``
2151
2137
`def _signature_from_builtin(cls, func, skip_bound_arg=True):
`
2152
2138
`"""Private helper function to get signature for
`
`@@ -2191,8 +2177,7 @@ def _signature_from_function(cls, func, skip_bound_arg=True,
`
2191
2177
`positional = arg_names[:pos_count]
`
2192
2178
`keyword_only_count = func_code.co_kwonlyargcount
`
2193
2179
`keyword_only = arg_names[pos_count:pos_count + keyword_only_count]
`
2194
``
`-
annotations = _get_type_hints(func, globalns=globalns, localns=localns)
`
2195
``
-
``
2180
`+
annotations = func.annotations
`
2196
2181
`defaults = func.defaults
`
2197
2182
`kwdefaults = func.kwdefaults
`
2198
2183
``