@@ -41,11 +41,11 @@ def patch_node(node, text=None, children=None, *, constructor=None):
4141
4242
4343def function_transformer (new_name ):
44- def xf (name_node , parameters_node ):
44+ def xf (name_node , parameters_node , selfref ):
4545 return (
4646 patch_node (name_node , new_name , ()),
4747 patch_node (parameters_node , '' , [
48- SphinxNodes .desc_parameter ('' , 'self' ),
48+ SphinxNodes .desc_parameter ('' , selfref ),
4949 * parameters_node .children ,
5050 ])
5151 )
@@ -54,20 +54,20 @@ def xf(name_node, parameters_node):
5454
5555
5656def unary_op_transformer (op ):
57- def xf (name_node , parameters_node ):
57+ def xf (name_node , parameters_node , selfref ):
5858 return (
5959 patch_node (name_node , op , ()),
60- emphasis ('' , 'self' ),
60+ emphasis ('' , selfref ),
6161 )
6262
6363 return xf
6464
6565
6666def binary_op_transformer (op ):
67- def xf (name_node , parameters_node ):
67+ def xf (name_node , parameters_node , selfref ):
6868 return inline (
6969 '' , '' ,
70- emphasis ('' , 'self' ),
70+ emphasis ('' , selfref ),
7171 Text (' ' ),
7272 patch_node (name_node , op , ()),
7373 Text (' ' ),
@@ -77,22 +77,22 @@ def xf(name_node, parameters_node):
7777 return xf
7878
7979
80- def brackets (parameters_node ):
80+ def brackets (parameters_node , selfref ):
8181 return [
82- emphasis ('' , 'self' ),
82+ emphasis ('' , selfref ),
8383 SphinxNodes .desc_name ('' , '' , Text ('[' )),
8484 emphasis ('' , parameters_node .children [0 ].astext ()),
8585 SphinxNodes .desc_name ('' , '' , Text (']' )),
8686 ]
8787
8888
8989SPECIAL_METHODS = {
90- '__getitem__' : lambda name_node , parameters_node : inline (
91- '' , '' , * brackets (parameters_node )
90+ '__getitem__' : lambda name_node , parameters_node , selfref : inline (
91+ '' , '' , * brackets (parameters_node , selfref )
9292 ),
93- '__setitem__' : lambda name_node , parameters_node : inline (
93+ '__setitem__' : lambda name_node , parameters_node , selfref : inline (
9494 '' , '' ,
95- * brackets (parameters_node ),
95+ * brackets (parameters_node , selfref ),
9696 Text (' ' ),
9797 SphinxNodes .desc_name ('' , '' , Text ('=' )),
9898 Text (' ' ),
@@ -101,26 +101,26 @@ def brackets(parameters_node):
101101 if len (parameters_node .children ) > 1 else ''
102102 )),
103103 ),
104- '__delitem__' : lambda name_node , parameters_node : inline (
104+ '__delitem__' : lambda name_node , parameters_node , selfref : inline (
105105 '' , '' ,
106106 SphinxNodes .desc_name ('' , '' , Text ('del' )),
107107 Text (' ' ),
108- * brackets (parameters_node ),
108+ * brackets (parameters_node , selfref ),
109109 ),
110- '__contains__' : lambda name_node , parameters_node : inline (
110+ '__contains__' : lambda name_node , parameters_node , selfref : inline (
111111 '' , '' ,
112112 emphasis ('' , parameters_node .children [0 ].astext ()),
113113 Text (' ' ),
114114 SphinxNodes .desc_name ('' , '' , Text ('in' )),
115115 Text (' ' ),
116- emphasis ('' , 'self' ),
116+ emphasis ('' , selfref ),
117117 ),
118118
119- '__await__' : lambda name_node , parameters_node : inline (
119+ '__await__' : lambda name_node , parameters_node , selfref : inline (
120120 '' , '' ,
121121 SphinxNodes .desc_name ('' , '' , Text ('await' )),
122122 Text (' ' ),
123- emphasis ('' , 'self' ),
123+ emphasis ('' , selfref ),
124124 ),
125125
126126 '__lt__' : binary_op_transformer ('<' ),
@@ -156,8 +156,8 @@ def brackets(parameters_node):
156156 '__abs__' : function_transformer ('abs' ),
157157 '__invert__' : unary_op_transformer ('~' ),
158158
159- '__call__' : lambda name_node , parameters_node : (
160- emphasis ('' , 'self' ),
159+ '__call__' : lambda name_node , parameters_node , selfref : (
160+ emphasis ('' , selfref ),
161161 patch_node (parameters_node , '' , parameters_node .children )
162162 ),
163163 '__getattr__' : function_transformer ('getattr' ),
@@ -202,7 +202,7 @@ def apply(self):
202202 if method_name in SPECIAL_METHODS :
203203 parameters_node = ref .next_node (SphinxNodes .desc_parameterlist )
204204
205- name_node .replace_self (SPECIAL_METHODS [method_name ](name_node , parameters_node ))
205+ name_node .replace_self (SPECIAL_METHODS [method_name ](name_node , parameters_node , 'self' ))
206206 parameters_node .replace_self (())
207207
208208
0 commit comments