eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html

Thu, 18 Nov 2021 19:37:14 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 18 Nov 2021 19:37:14 +0100
branch
eric7
changeset 8773
3dd81b827455
parent 8596
d64760b2da50
permissions
-rw-r--r--

Extended the annotations checker to check for missing 'from __future__ import annotations'.

8372
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 <!DOCTYPE html>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2 <html><head>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 <title>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor</title>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 <meta charset="UTF-8">
8596
d64760b2da50 Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8372
diff changeset
5 <link rel="stylesheet" href="styles.css">
8372
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 </head>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 <body>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 <a NAME="top" ID="top"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 <h1>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor</h1>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 Module implementing a node visitor for function type annotations.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 <h3>Global Attributes</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 <tr><td>AST_ARG_TYPES</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 <h3>Classes</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 <td><a href="#Argument">Argument</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 <td>Class representing a function argument.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 <td><a href="#Function">Function</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 <td>Class representing a function.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 <td><a href="#FunctionVisitor">FunctionVisitor</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 <td>Class implementing a node visitor to check function annotations.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 <td><a href="#ReturnVisitor">ReturnVisitor</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 <td>Class implementing a node visitor to check the return statements of a function node.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 <h3>Functions</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 <a NAME="Argument" ID="Argument"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 <h2>Argument</h2>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 Class representing a function argument.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 <h3>Derived from</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 None
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 <h3>Class Attributes</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 <h3>Class Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 <td><a href="#Argument.fromNode">fromNode</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 <td>Class method to create an Argument object based on the given node.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 <h3>Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 <td><a href="#Argument.__init__">Argument</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 <td>Constructor</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 <h3>Static Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 <a NAME="Argument.fromNode" ID="Argument.fromNode"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 <h4>Argument.fromNode (class method)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 <b>fromNode</b>(<i>node, annotationTypeName</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 Class method to create an Argument object based on the given node.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 <dt><i>node</i> (ast.arguments)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 reference to the node to be converted
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 <dt><i>annotationTypeName</i> (str)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 name of the annotation type
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 Argument object
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 Argument
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 <a NAME="Argument.__init__" ID="Argument.__init__"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 <h4>Argument (Constructor)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 <b>Argument</b>(<i>argname, lineno, col_offset, annotationType, hasTypeAnnotation=False, has3107Annotation=False, hasTypeComment=False</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 Constructor
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 <dt><i>argname</i> (str)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 name of the argument
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 <dt><i>lineno</i> (int)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 line number
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 <dt><i>col_offset</i> (int)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 column number
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 <dt><i>annotationType</i> (AnnotationType)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 type of annotation
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 <dt><i>hasTypeAnnotation</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 flag indicating the presence of a type
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 annotation (defaults to False)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 <dt><i>has3107Annotation</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 flag indicating the presence of a PEP 3107
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 annotation (defaults to False)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 <dt><i>hasTypeComment</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 flag indicating the presence of a type comment
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 (defaults to False)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 <div align="right"><a href="#top">Up</a></div>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 <a NAME="Function" ID="Function"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 <h2>Function</h2>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 Class representing a function.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 <h3>Derived from</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 None
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 <h3>Class Attributes</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 <h3>Class Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 <td><a href="#Function.fromNode">fromNode</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 <td>Class method to create a Function object from ast.FunctionDef or ast.AsyncFunctionDef nodes.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 <h3>Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 <td><a href="#Function.__init__">Function</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 <td>Constructor</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 <td><a href="#Function.__decoratorChecker">__decoratorChecker</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 <td>Private method to check the provided decorator for a match against the provided set of check names.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 <td><a href="#Function.getAnnotatedArguments">getAnnotatedArguments</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 <td>Public method to get list of arguments with type annotations.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 <td><a href="#Function.getMissedAnnotations">getMissedAnnotations</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 <td>Public method to provide a list of arguments with missing type annotations.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 <td><a href="#Function.hasDecorator">hasDecorator</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 <td>Public method to check whether the function node is decorated by any of the provided decorators.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205 <td><a href="#Function.isDynamicallyTyped">isDynamicallyTyped</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 <td>Public method to check, if a function definition is dynamically typed (i.e.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 <td><a href="#Function.isFullyAnnotated">isFullyAnnotated</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 <td>Public method to check, if the function definition is fully type annotated.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213 <h3>Static Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
217 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
218 <td><a href="#Function._maybeInjectClassArgument">_maybeInjectClassArgument</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
219 <td>Static method to inject `self` or `cls` args into a type comment to align with PEP 3107-style annotations.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
221 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222 <td><a href="#Function._singleLineColonSeeker">_singleLineColonSeeker</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 <td>Static method to find the line & column indices of a single line function definition.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 <td><a href="#Function.colonSeeker">colonSeeker</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227 <td>Static method to find the line & column indices of the function definition's closing colon.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
228 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230 <td><a href="#Function.getClassDecoratorType">getClassDecoratorType</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 <td>Static method to get the class method's decorator type from its function node.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 <td><a href="#Function.getFunctionType">getFunctionType</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 <td>Static method to determine the function's FunctionType from its name.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 <td><a href="#Function.tryTypeComment">tryTypeComment</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 <td>Static method to infer type hints from a function-level type comment.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 <a NAME="Function.fromNode" ID="Function.fromNode"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 <h4>Function.fromNode (class method)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 <b>fromNode</b>(<i>node, lines, **kwargs</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 Class method to create a Function object from ast.FunctionDef or
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 ast.AsyncFunctionDef nodes.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 Accept the source code, as a list of strings, in order to get the
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 column where the function definition ends.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 With exceptions, input kwargs are passed straight through to Function's
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 __init__. The following kwargs will be overridden:
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 * function_type
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 * class_decorator_type
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 * args
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 <dt><i>node</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 reference to the function definition node
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 <dt><i>lines</i> (list of str)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 list of source code lines
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272 <dt><i>**kwargs=</i> (dict)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 keyword arguments
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 created Function object
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 Function
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 <a NAME="Function.__init__" ID="Function.__init__"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 <h4>Function (Constructor)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
291 <b>Function</b>(<i>name, lineno, col_offset, functionType=FunctionType.PUBLIC, isClassMethod=False, classDecoratorType=None, isReturnAnnotated=False, hasTypeComment=False, hasOnlyNoneReturns=True, isNested=False, decoratorList=None, args=None</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 Constructor
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 <dt><i>name</i> (str)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
299 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300 name of the function
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 <dt><i>lineno</i> (int)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 line number
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 <dt><i>col_offset</i> (int)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
307 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308 column number
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310 <dt><i>functionType</i> (FunctionType (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 type of the function (defaults to
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313 FunctionType.PUBLIC)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
315 <dt><i>isClassMethod</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 flag indicating a class method (defaults to False)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319 <dt><i>classDecoratorType</i> (ClassDecoratorType or None (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 type of a function decorator
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322 (defaults to None)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 <dt><i>isReturnAnnotated</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
325 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 flag indicating the presence of a return
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
327 type annotation (defaults to False)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
329 <dt><i>hasTypeComment</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
330 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331 flag indicating the presence of a type comment
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 (defaults to False)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 <dt><i>hasOnlyNoneReturns</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336 flag indicating only None return values
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 (defaults to True)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
339 <dt><i>isNested</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
341 flag indicating a nested function (defaults to False)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
342 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
343 <dt><i>decoratorList</i> (list of ast.Attribute, ast.Call or ast.Name (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
344 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 list of decorator nodes (defaults to None)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 <dt><i>args</i> (list of Argument (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 list of arguments (defaults to None)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352 <a NAME="Function.__decoratorChecker" ID="Function.__decoratorChecker"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 <h4>Function.__decoratorChecker</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 <b>__decoratorChecker</b>(<i>decorator, checkDecorators</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
355
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357 Private method to check the provided decorator for a match against the
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358 provided set of check names.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
359 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361 Decorators are assumed to be of the following form:
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 * `a.name` or `a.name()`
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 * `name` or `name()`
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 Note: Deeper imports (e.g. `a.b.name`) are not explicitly supported.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
368 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 <dt><i>decorator</i> (ast.Attribute, ast.Call or ast.Name)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
372 decorator node to check
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
373 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374 <dt><i>checkDecorators</i> (set of str)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
376 set of decorators to check against
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
377 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
381 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
382 flag indicating the presence of any decorators
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
383 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
385 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
386 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
387 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
388 bool
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
389 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
390 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
391 <a NAME="Function.getAnnotatedArguments" ID="Function.getAnnotatedArguments"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
392 <h4>Function.getAnnotatedArguments</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
393 <b>getAnnotatedArguments</b>(<i></i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
394
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
395 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
396 Public method to get list of arguments with type annotations.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
397 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
398 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
399 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
400 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
401 list of arguments with type annotations.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
402 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
403 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
404 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
405 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
406 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
407 list of Argument
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
408 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
409 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
410 <a NAME="Function.getMissedAnnotations" ID="Function.getMissedAnnotations"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
411 <h4>Function.getMissedAnnotations</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
412 <b>getMissedAnnotations</b>(<i></i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
413
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
414 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
415 Public method to provide a list of arguments with missing type
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
416 annotations.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
417 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
418 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
419 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
420 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421 list of arguments with missing type annotations
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
422 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
423 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
424 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
425 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
426 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
427 list of Argument
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
428 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
429 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
430 <a NAME="Function.hasDecorator" ID="Function.hasDecorator"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
431 <h4>Function.hasDecorator</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
432 <b>hasDecorator</b>(<i>checkDecorators</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
433
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
435 Public method to check whether the function node is decorated by any of
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
436 the provided decorators.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
437 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
439 Decorator matching is done against the provided `checkDecorators` set.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
440 Decorators are assumed to be either a module attribute (e.g.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
441 `@typing.overload`) or name (e.g. `@overload`). For the case of a
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
442 module attribute, only the attribute is checked against
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
443 `overload_decorators`.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
444 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
445 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
446 Note: Deeper decorator imports (e.g. `a.b.overload`) are not explicitly
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
447 supported.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
448 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
449 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
450
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
451 <dt><i>checkDecorators</i> (set of str)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
452 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
453 set of decorators to check against
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
455 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
456 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
457 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
458 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
459 flag indicating the presence of any decorators
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
460 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
461 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
462 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
463 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
464 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
465 bool
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
466 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
467 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
468 <a NAME="Function.isDynamicallyTyped" ID="Function.isDynamicallyTyped"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
469 <h4>Function.isDynamicallyTyped</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
470 <b>isDynamicallyTyped</b>(<i></i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
471
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
472 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
473 Public method to check, if a function definition is dynamically typed
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
474 (i.e. completely lacking hints).
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
475 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
476 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
477 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
478 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
479 flag indicating a dynamically typed function definition
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
480 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
481 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
482 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
483 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
484 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
485 bool
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
486 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
487 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
488 <a NAME="Function.isFullyAnnotated" ID="Function.isFullyAnnotated"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
489 <h4>Function.isFullyAnnotated</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
490 <b>isFullyAnnotated</b>(<i></i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
491
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
492 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
493 Public method to check, if the function definition is fully type
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
494 annotated.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
495 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
496 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
497 Note: self.args will always include an Argument object for return.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
498 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
499 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
500 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
501 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
502 flag indicating a fully annotated function definition
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
503 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
504 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
505 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
506 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
507 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
508 bool
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
509 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
510 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
511 <a NAME="Function._maybeInjectClassArgument" ID="Function._maybeInjectClassArgument"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
512 <h4>Function._maybeInjectClassArgument (static)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
513 <b>_maybeInjectClassArgument</b>(<i>funcObj</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
514
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
515 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
516 Static method to inject `self` or `cls` args into a type comment to
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
517 align with PEP 3107-style annotations.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
518 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
519 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
520 Because PEP 484 does not describe a method to provide partial function-
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
521 level type comments, there is a potential for ambiguity in the context
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
522 of both class methods and classmethods when aligning type comments to
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
523 method arguments.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
524 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
525 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
526 These two class methods, for example, should lint equivalently:
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
527 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
528 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
529 def bar(self, a):
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
530 # type: (int) -> int
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
531 ...
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
532 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
533 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
534 def bar(self, a: int) -> int
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
535 ...
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
536 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
537 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
538 When this example type comment is parsed by `ast` and then matched with
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
539 the method's arguments, it associates the `int` hint to `self` rather
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
540 than `a`, so a dummy hint needs to be provided in situations where
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
541 `self` or `class` are not hinted in the type comment in order to
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
542 achieve equivalent linting results to PEP-3107 style annotations.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
543 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
544 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
545 A dummy `ast.Ellipses` constant is injected if the following criteria
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
546 are met:
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
547 1. The function node is either a class method or classmethod
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
548 2. The number of hinted args is at least 1 less than the number
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
549 of function args
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
550 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
551 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
552
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
553 <dt><i>hintTree</i> (ast.FunctionType)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
554 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
555 parsed type hint node
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
556 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
557 <dt><i>funcObj</i> (Function)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
558 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
559 reference to the Function object
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
560 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
561 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
562 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
563 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
564 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
565 reference to the hint node
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
566 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
567 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
568 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
569 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
570 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
571 ast.FunctionType
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
572 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
573 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
574 <a NAME="Function._singleLineColonSeeker" ID="Function._singleLineColonSeeker"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
575 <h4>Function._singleLineColonSeeker (static)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
576 <b>_singleLineColonSeeker</b>(<i>line</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
577
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
578 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
579 Static method to find the line & column indices of a single line
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
580 function definition.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
581 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
582 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
583
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
584 <dt><i>node</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
585 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
586 reference to the function definition node
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
588 <dt><i>line</i> (str)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
589 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
590 source code line
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
591 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
592 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
593 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
594 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
595 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
596 line and column offset of the colon
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
597 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
598 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
599 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
600 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
601 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
602 tuple of (int, int)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
603 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
604 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
605 <a NAME="Function.colonSeeker" ID="Function.colonSeeker"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
606 <h4>Function.colonSeeker (static)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
607 <b>colonSeeker</b>(<i>lines</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
608
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
609 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
610 Static method to find the line & column indices of the function
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
611 definition's closing colon.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
612 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
613 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
614
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
615 <dt><i>node</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
616 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
617 reference to the function definition node
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
618 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
619 <dt><i>lines</i> (list of str)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
620 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
621 list of source code lines
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
622 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
623 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
624 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
625 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
626 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
627 line and column offset of the colon
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
628 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
629 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
630 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
631 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
632 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
633 tuple of (int, int)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
634 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
635 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
636 <a NAME="Function.getClassDecoratorType" ID="Function.getClassDecoratorType"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
637 <h4>Function.getClassDecoratorType (static)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
638 <b>getClassDecoratorType</b>(<i></i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
639
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
640 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
641 Static method to get the class method's decorator type from its
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
642 function node.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
643 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
644 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
645 Only @classmethod and @staticmethod decorators are identified; all
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
646 other decorators are ignored
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
647 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
648 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
649 If @classmethod or @staticmethod decorators are not present, this
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
650 function will return None.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
651 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
652 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
653
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
654 <dt><i>functionNode</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
655 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
656 reference to the function definition node
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
657 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
658 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
659 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
660 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
661 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
662 class decorator type
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
663 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
664 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
665 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
666 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
667 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
668 ClassDecoratorType or None
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
669 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
670 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
671 <a NAME="Function.getFunctionType" ID="Function.getFunctionType"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
672 <h4>Function.getFunctionType (static)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
673 <b>getFunctionType</b>(<i></i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
674
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
675 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
676 Static method to determine the function's FunctionType from its name.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
677 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
678 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
679 MethodType is determined by the following priority:
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
680 1. Special: function name prefixed & suffixed by "__"
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
681 2. Private: function name prefixed by "__"
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
682 3. Protected: function name prefixed by "_"
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
683 4. Public: everything else
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
684 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
685 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
686
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
687 <dt><i>functionName</i> (str)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
688 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
689 function name to be checked
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
690 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
691 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
692 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
693 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
694 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
695 type of function
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
696 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
697 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
698 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
699 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
700 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
701 FunctionType
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
702 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
703 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
704 <a NAME="Function.tryTypeComment" ID="Function.tryTypeComment"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
705 <h4>Function.tryTypeComment (static)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
706 <b>tryTypeComment</b>(<i>node</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
707
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
708 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
709 Static method to infer type hints from a function-level type comment.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
710 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
711 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
712 If a function is type commented it is assumed to have a return
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
713 annotation, otherwise Python will fail to parse the hint.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
714 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
715 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
716
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
717 <dt><i>funcObj</i> (Function)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
718 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
719 reference to the Function object
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
720 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
721 <dt><i>node</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
722 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
723 reference to the function definition node
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
724 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
725 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
726 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
727 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
728 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
729 reference to the modified Function object
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
730 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
731 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
732 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
733 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
734 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
735 Function
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
736 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
737 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
738 <div align="right"><a href="#top">Up</a></div>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
739 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
740 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
741 <a NAME="FunctionVisitor" ID="FunctionVisitor"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
742 <h2>FunctionVisitor</h2>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
743
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
744 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
745 Class implementing a node visitor to check function annotations.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
746 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
747 <h3>Derived from</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
748 ast.NodeVisitor
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
749 <h3>Class Attributes</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
750
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
751 <table>
8773
3dd81b827455 Extended the annotations checker to check for missing 'from __future__ import annotations'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8596
diff changeset
752 <tr><td>AstFuncTypes</td></tr><tr><td>visit_AsyncFunctionDef</td></tr><tr><td>visit_ClassDef</td></tr><tr><td>visit_FunctionDef</td></tr>
8372
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
753 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
754 <h3>Class Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
755
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
756 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
757 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
758 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
759 <h3>Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
760
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
761 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
762
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
763 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
764 <td><a href="#FunctionVisitor.__init__">FunctionVisitor</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
765 <td>Constructor</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
766 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
767 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
768 <td><a href="#FunctionVisitor.switchContext">switchContext</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
769 <td>Public method implementing a context switcher as a generic function visitor in order to track function context.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
770 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
771 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
772 <h3>Static Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
773
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
774 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
775 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
776 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
777
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
778 <a NAME="FunctionVisitor.__init__" ID="FunctionVisitor.__init__"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
779 <h4>FunctionVisitor (Constructor)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
780 <b>FunctionVisitor</b>(<i>lines</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
781
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
782 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
783 Constructor
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
784 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
785 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
786
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
787 <dt><i>lines</i> (list of str)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
788 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
789 source code lines of the function
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
790 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
791 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
792 <a NAME="FunctionVisitor.switchContext" ID="FunctionVisitor.switchContext"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
793 <h4>FunctionVisitor.switchContext</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
794 <b>switchContext</b>(<i>node</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
795
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
796 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
797 Public method implementing a context switcher as a generic function
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
798 visitor in order to track function context.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
799 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
800 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
801 Without keeping track of context, it's challenging to reliably
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
802 differentiate class methods from "regular" functions, especially in the
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
803 case of nested classes.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
804 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
805 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
806
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
807 <dt><i>node</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
808 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
809 reference to the function definition node to be analyzed
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
810 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
811 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
812 <div align="right"><a href="#top">Up</a></div>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
813 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
814 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
815 <a NAME="ReturnVisitor" ID="ReturnVisitor"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
816 <h2>ReturnVisitor</h2>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
817
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
818 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
819 Class implementing a node visitor to check the return statements of a
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
820 function node.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
821 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
822 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
823 If the function node being visited has an explicit return statement of
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
824 anything other than `None`, the `instance.hasOnlyNoneReturns` flag will
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
825 be set to `False`.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
826 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
827 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
828 If the function node being visited has no return statement, or contains
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
829 only return statement(s) that explicitly return `None`, the
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
830 `instance.hasOnlyNoneReturns` flag will be set to `True`.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
831 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
832 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
833 Due to the generic visiting being done, we need to keep track of the
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
834 context in which a non-`None` return node is found. These functions are
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
835 added to a set that is checked to see whether nor not the parent node is
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
836 present.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
837 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
838 <h3>Derived from</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
839 ast.NodeVisitor
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
840 <h3>Class Attributes</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
841
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
842 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
843 <tr><td>visit_AsyncFunctionDef</td></tr><tr><td>visit_FunctionDef</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
844 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
845 <h3>Class Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
846
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
847 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
848 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
849 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
850 <h3>Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
851
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
852 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
853
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
854 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
855 <td><a href="#ReturnVisitor.__init__">ReturnVisitor</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
856 <td>Constructor</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
857 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
858 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
859 <td><a href="#ReturnVisitor.hasOnlyNoneReturns">hasOnlyNoneReturns</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
860 <td>Public method indicating, that the parent node isn't in the visited nodes that don't return `None`.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
861 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
862 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
863 <td><a href="#ReturnVisitor.switchContext">switchContext</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
864 <td>Public method implementing a context switcher as a generic function visitor in order to track function context.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
865 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
866 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
867 <td><a href="#ReturnVisitor.visit_Return">visit_Return</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
868 <td>Public method to check each Return node to see if it returns anything other than `None`.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
869 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
870 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
871 <h3>Static Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
872
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
873 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
874 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
875 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
876
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
877 <a NAME="ReturnVisitor.__init__" ID="ReturnVisitor.__init__"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
878 <h4>ReturnVisitor (Constructor)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
879 <b>ReturnVisitor</b>(<i>parentNode</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
880
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
881 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
882 Constructor
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
883 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
884 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
885
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
886 <dt><i>parentNode</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
887 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
888 reference to the function definition node to be
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
889 analyzed
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
890 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
891 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
892 <a NAME="ReturnVisitor.hasOnlyNoneReturns" ID="ReturnVisitor.hasOnlyNoneReturns"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
893 <h4>ReturnVisitor.hasOnlyNoneReturns</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
894 <b>hasOnlyNoneReturns</b>(<i></i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
895
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
896 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
897 Public method indicating, that the parent node isn't in the visited
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
898 nodes that don't return `None`.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
899 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
900 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
901 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
902 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
903 flag indicating, that the parent node isn't in the visited
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
904 nodes that don't return `None`
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
905 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
906 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
907 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
908 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
909 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
910 bool
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
911 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
912 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
913 <a NAME="ReturnVisitor.switchContext" ID="ReturnVisitor.switchContext"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
914 <h4>ReturnVisitor.switchContext</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
915 <b>switchContext</b>(<i>node</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
916
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
917 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
918 Public method implementing a context switcher as a generic function
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
919 visitor in order to track function context.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
920 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
921 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
922 Without keeping track of context, it's challenging to reliably
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
923 differentiate class methods from "regular" functions, especially in the
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
924 case of nested classes.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
925 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
926 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
927
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
928 <dt><i>node</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
929 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
930 reference to the function definition node to be analyzed
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
931 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
932 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
933 <a NAME="ReturnVisitor.visit_Return" ID="ReturnVisitor.visit_Return"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
934 <h4>ReturnVisitor.visit_Return</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
935 <b>visit_Return</b>(<i>node</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
936
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
937 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
938 Public method to check each Return node to see if it returns anything
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
939 other than `None`.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
940 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
941 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
942 If the node being visited returns anything other than `None`, its
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
943 parent context is added to the set of non-returning child nodes of
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
944 the parent node.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
945 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
946 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
947
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
948 <dt><i>node</i> (ast.Return)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
949 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
950 reference to the AST Return node
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
951 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
952 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
953 <div align="right"><a href="#top">Up</a></div>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
954 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
955 </body></html>

eric ide

mercurial