pylint-dev/astroid

Improve the documentation around type comments and annotations

AWhetter opened this issue · 0 comments

The documentation needs some more detail on these areas because:

  • It doesn't mention why Arguments.type_comment_args and FunctionDef.type_comment_args both exist. Perferably some examples would be included.
  • It specifies the types of many of these fields as NodeNG, when they're probably only Subscript, Const, or Name nodes.
  • It doesn't mention that Arguments.type_comment_args is prepended with a None when the first argument is a (correctly) non-annotated self or cls argument.
  • Using these fields to get type information is incredibly difficult. It requires doing a complex merge operation of the various type fields to figure out what's actually being used. We could provide either a utility to do this, or some example code. Example code may help to explain what each field is for.