@@ -171,17 +171,17 @@ def _restify_py37(cls: Optional[Type]) -> str:
171
171
text += r"\ [%s]" % ", " .join (restify (a ) for a in cls .__args__ )
172
172
173
173
return text
174
- elif hasattr (cls , '__qualname__' ):
175
- if cls .__module__ == 'typing' :
176
- return ':class:`~%s.%s`' % (cls .__module__ , cls .__qualname__ )
177
- else :
178
- return ':class:`%s.%s`' % (cls .__module__ , cls .__qualname__ )
179
174
elif hasattr (cls , '_name' ):
180
175
# SpecialForm
181
176
if cls .__module__ == 'typing' :
182
177
return ':obj:`~%s.%s`' % (cls .__module__ , cls ._name )
183
178
else :
184
179
return ':obj:`%s.%s`' % (cls .__module__ , cls ._name )
180
+ elif hasattr (cls , '__qualname__' ):
181
+ if cls .__module__ == 'typing' :
182
+ return ':class:`~%s.%s`' % (cls .__module__ , cls .__qualname__ )
183
+ else :
184
+ return ':class:`%s.%s`' % (cls .__module__ , cls .__qualname__ )
185
185
elif isinstance (cls , ForwardRef ):
186
186
return ':class:`%s`' % cls .__forward_arg__
187
187
else :
@@ -309,7 +309,7 @@ def stringify(annotation: Any) -> str:
309
309
elif annotation in INVALID_BUILTIN_CLASSES :
310
310
return INVALID_BUILTIN_CLASSES [annotation ]
311
311
elif (getattr (annotation , '__module__' , None ) == 'builtins' and
312
- hasattr (annotation , '__qualname__' )):
312
+ getattr (annotation , '__qualname__' , None )):
313
313
return annotation .__qualname__
314
314
elif annotation is Ellipsis :
315
315
return '...'
0 commit comments