77from typing import TYPE_CHECKING , Any , ClassVar , Final , cast
88
99from docutils import nodes
10- from docutils .nodes import Element , Node , system_message
1110from docutils .parsers .rst import Directive , directives
1211from docutils .statemachine import StringList
1312
2524if TYPE_CHECKING :
2625 from collections .abc import Callable , Iterable , Iterator , Set
2726
27+ from docutils .nodes import Element , Node , system_message
28+
2829 from sphinx .application import Sphinx
2930 from sphinx .builders import Builder
3031 from sphinx .environment import BuildEnvironment
@@ -813,7 +814,7 @@ def process_doc(
813814 location = node )
814815 self .anonlabels [name ] = docname , labelid
815816 if node .tagname == 'section' :
816- title = cast (nodes .title , node [0 ])
817+ title = cast (' nodes.title' , node [0 ])
817818 sectname = clean_astext (title )
818819 elif node .tagname == 'rubric' :
819820 sectname = clean_astext (node )
@@ -824,9 +825,9 @@ def process_doc(
824825 else :
825826 if (isinstance (node , nodes .definition_list | nodes .field_list ) and
826827 node .children ):
827- node = cast (nodes .Element , node .children [0 ])
828+ node = cast (' nodes.Element' , node .children [0 ])
828829 if isinstance (node , nodes .field | nodes .definition_list_item ):
829- node = cast (nodes .Element , node .children [0 ])
830+ node = cast (' nodes.Element' , node .children [0 ])
830831 if isinstance (node , nodes .term | nodes .field_name ):
831832 sectname = clean_astext (node )
832833 else :
@@ -1117,7 +1118,7 @@ def is_enumerable_node(self, node: Node) -> bool:
11171118 def get_numfig_title (self , node : Node ) -> str | None :
11181119 """Get the title of enumerable nodes to refer them using its title"""
11191120 if self .is_enumerable_node (node ):
1120- elem = cast (Element , node )
1121+ elem = cast (' Element' , node )
11211122 _ , title_getter = self .enumerable_nodes .get (elem .__class__ , (None , None ))
11221123 if title_getter :
11231124 return title_getter (elem )
0 commit comments