Skip to content

Add version directives to ast docs #108788

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Sep 7, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 42 additions & 4 deletions Doc/library/ast.rst
Original file line number Diff line number Diff line change
Expand Up @@ -650,10 +650,10 @@ Expressions

.. class:: NamedExpr(target, value)

A named expression. This AST node is produced by the assignment expressions
operator (also known as the walrus operator). As opposed to the :class:`Assign`
node in which the first argument can be multiple nodes, in this case both
``target`` and ``value`` must be single nodes.
A named expression. This AST node is produced by the assignment expressions
operator (also known as the walrus operator). As opposed to the :class:`Assign`
node in which the first argument can be multiple nodes, in this case both
``target`` and ``value`` must be single nodes.

.. doctest::

Expand All @@ -663,6 +663,7 @@ Expressions
target=Name(id='x', ctx=Store()),
value=Constant(value=4)))

.. versionadded:: 3.8

Subscripting
~~~~~~~~~~~~
Expand Down Expand Up @@ -1036,6 +1037,7 @@ Statements
value=Name(id='int', ctx=Load()))],
type_ignores=[])

.. versionadded:: 3.12

Other statements which are only applicable inside functions or loops are
described in other sections.
Expand Down Expand Up @@ -1318,6 +1320,7 @@ Control flow
finalbody=[])],
type_ignores=[])

.. versionadded:: 3.11

.. class:: ExceptHandler(type, name, body)

Expand Down Expand Up @@ -1407,6 +1410,8 @@ Pattern matching
that is being matched against the cases) and ``cases`` contains an iterable of
:class:`match_case` nodes with the different cases.

.. versionadded:: 3.10

.. class:: match_case(pattern, guard, body)

A single case pattern in a ``match`` statement. ``pattern`` contains the
Expand Down Expand Up @@ -1458,6 +1463,8 @@ Pattern matching
value=Constant(value=Ellipsis))])])],
type_ignores=[])

.. versionadded:: 3.10

.. class:: MatchValue(value)

A match literal or value pattern that compares by equality. ``value`` is
Expand Down Expand Up @@ -1485,6 +1492,8 @@ Pattern matching
value=Constant(value=Ellipsis))])])],
type_ignores=[])

.. versionadded:: 3.10

.. class:: MatchSingleton(value)

A match literal pattern that compares by identity. ``value`` is the
Expand All @@ -1510,6 +1519,8 @@ Pattern matching
value=Constant(value=Ellipsis))])])],
type_ignores=[])

.. versionadded:: 3.10

.. class:: MatchSequence(patterns)

A match sequence pattern. ``patterns`` contains the patterns to be matched
Expand Down Expand Up @@ -1541,6 +1552,8 @@ Pattern matching
value=Constant(value=Ellipsis))])])],
type_ignores=[])

.. versionadded:: 3.10

.. class:: MatchStar(name)

Matches the rest of the sequence in a variable length match sequence pattern.
Expand Down Expand Up @@ -1581,6 +1594,8 @@ Pattern matching
value=Constant(value=Ellipsis))])])],
type_ignores=[])

.. versionadded:: 3.10

.. class:: MatchMapping(keys, patterns, rest)

A match mapping pattern. ``keys`` is a sequence of expression nodes.
Expand Down Expand Up @@ -1627,6 +1642,8 @@ Pattern matching
value=Constant(value=Ellipsis))])])],
type_ignores=[])

.. versionadded:: 3.10

.. class:: MatchClass(cls, patterns, kwd_attrs, kwd_patterns)

A match class pattern. ``cls`` is an expression giving the nominal class to
Expand Down Expand Up @@ -1691,6 +1708,8 @@ Pattern matching
value=Constant(value=Ellipsis))])])],
type_ignores=[])

.. versionadded:: 3.10

.. class:: MatchAs(pattern, name)

A match "as-pattern", capture pattern or wildcard pattern. ``pattern``
Expand Down Expand Up @@ -1732,6 +1751,8 @@ Pattern matching
value=Constant(value=Ellipsis))])])],
type_ignores=[])

.. versionadded:: 3.10

.. class:: MatchOr(patterns)

A match "or-pattern". An or-pattern matches each of its subpatterns in turn
Expand Down Expand Up @@ -1764,6 +1785,8 @@ Pattern matching
value=Constant(value=Ellipsis))])])],
type_ignores=[])

.. versionadded:: 3.10

.. _ast-type-params:

Type parameters
Expand Down Expand Up @@ -1795,6 +1818,8 @@ aliases.
ctx=Load()))],
type_ignores=[])

.. versionadded:: 3.12

.. class:: ParamSpec(name)

A :class:`typing.ParamSpec`. ``name`` is the name of the parameter specification.
Expand All @@ -1818,6 +1843,8 @@ aliases.
ctx=Load()))],
type_ignores=[])

.. versionadded:: 3.12

.. class:: TypeVarTuple(name)

A :class:`typing.TypeVarTuple`. ``name`` is the name of the type variable tuple.
Expand All @@ -1842,6 +1869,8 @@ aliases.
ctx=Load()))],
type_ignores=[])

.. versionadded:: 3.12

Function and class definitions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand All @@ -1861,6 +1890,9 @@ Function and class definitions

``type_comment`` is an optional string with the type annotation as a comment.

.. versionchanged:: 3.12
Added ``type_params``.


.. class:: Lambda(args, body)

Expand Down Expand Up @@ -2059,6 +2091,9 @@ Function and class definitions
type_params=[])],
type_ignores=[])

.. versionchanged:: 3.12
Added ``type_params``.

Async and await
^^^^^^^^^^^^^^^

Expand All @@ -2067,6 +2102,9 @@ Async and await
An ``async def`` function definition. Has the same fields as
:class:`FunctionDef`.

.. versionchanged:: 3.12
Added ``type_params``.


.. class:: Await(value)

Expand Down