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

Mon, 24 May 2021 11:19:57 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 24 May 2021 11:19:57 +0200
branch
eric7
changeset 8372
e0227a7c850e
child 8596
d64760b2da50
permissions
-rw-r--r--

Generated source docu for eric7.

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">
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5 <style>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 body {
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 background: #EDECE6;
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 margin: 0em 1em 10em 1em;
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 color: black;
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
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 h1 { color: white; background: #85774A; }
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 h2 { color: white; background: #85774A; }
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 h3 { color: white; background: #9D936E; }
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 h4 { color: white; background: #9D936E; }
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 a { color: #BA6D36; }
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 </style>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 </head>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 <body>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 <a NAME="top" ID="top"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 <h1>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor</h1>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Module implementing a node visitor for function type annotations.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 <h3>Global Attributes</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 <tr><td>AST_ARG_TYPES</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 <h3>Classes</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 <td><a href="#Argument">Argument</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 <td>Class representing a function argument.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 <td><a href="#Function">Function</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 <td>Class representing a function.</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 <td><a href="#FunctionVisitor">FunctionVisitor</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 <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
48 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 <td><a href="#ReturnVisitor">ReturnVisitor</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 <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
52 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 <h3>Functions</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 <a NAME="Argument" ID="Argument"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 <h2>Argument</h2>
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 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 Class representing a function argument.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 <h3>Derived from</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 None
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 <h3>Class Attributes</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 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 <h3>Class Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 <td><a href="#Argument.fromNode">fromNode</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 <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
81 </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 <h3>Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 <td><a href="#Argument.__init__">Argument</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 <td>Constructor</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 <h3>Static Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 <a NAME="Argument.fromNode" ID="Argument.fromNode"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 <h4>Argument.fromNode (class method)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 <b>fromNode</b>(<i>node, annotationTypeName</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 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
104 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 <dt><i>node</i> (ast.arguments)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 reference to the node to be converted
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 <dt><i>annotationTypeName</i> (str)</dt>
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 name of the annotation type
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 Argument object
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 </dd>
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 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 <dt>Return Type:</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 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 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 <a NAME="Argument.__init__" ID="Argument.__init__"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 <h4>Argument (Constructor)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 <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
131
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 Constructor
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 <dt><i>argname</i> (str)</dt>
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 name of the argument
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 <dt><i>lineno</i> (int)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 line number
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 <dt><i>col_offset</i> (int)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 column number
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>annotationType</i> (AnnotationType)</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 type of annotation
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 <dt><i>hasTypeAnnotation</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 flag indicating the presence of a type
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 annotation (defaults to False)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 <dt><i>has3107Annotation</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 flag indicating the presence of a PEP 3107
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 annotation (defaults to False)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 <dt><i>hasTypeComment</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 flag indicating the presence of a type comment
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 (defaults to False)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 <div align="right"><a href="#top">Up</a></div>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 <a NAME="Function" ID="Function"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 <h2>Function</h2>
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 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 Class representing a function.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 <h3>Derived from</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 None
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 <h3>Class Attributes</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 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 <h3>Class Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 <td><a href="#Function.fromNode">fromNode</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 <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
192 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 <h3>Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 <td><a href="#Function.__init__">Function</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 <td>Constructor</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 <td><a href="#Function.__decoratorChecker">__decoratorChecker</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 <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
205 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 <td><a href="#Function.getAnnotatedArguments">getAnnotatedArguments</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 <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
209 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 <td><a href="#Function.getMissedAnnotations">getMissedAnnotations</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 <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
213 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 <td><a href="#Function.hasDecorator">hasDecorator</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216 <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
217 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
218 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
219 <td><a href="#Function.isDynamicallyTyped">isDynamicallyTyped</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 <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
221 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 <td><a href="#Function.isFullyAnnotated">isFullyAnnotated</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 <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
225 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227 <h3>Static Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
228
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 <td><a href="#Function._maybeInjectClassArgument">_maybeInjectClassArgument</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 <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
234 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 <td><a href="#Function._singleLineColonSeeker">_singleLineColonSeeker</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 <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
238 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 <td><a href="#Function.colonSeeker">colonSeeker</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 <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
242 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 <td><a href="#Function.getClassDecoratorType">getClassDecoratorType</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 <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
246 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 <td><a href="#Function.getFunctionType">getFunctionType</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 <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
250 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 <td><a href="#Function.tryTypeComment">tryTypeComment</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 <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
254 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 <a NAME="Function.fromNode" ID="Function.fromNode"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 <h4>Function.fromNode (class method)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 <b>fromNode</b>(<i>node, lines, **kwargs</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260
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 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
263 ast.AsyncFunctionDef nodes.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 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
267 column where the function definition ends.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 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
271 __init__. The following kwargs will be overridden:
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272 * function_type
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 * class_decorator_type
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 * args
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 </p>
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
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 <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
279 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 reference to the function definition node
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 <dt><i>lines</i> (list of str)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 list of source code lines
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 <dt><i>**kwargs=</i> (dict)</dt>
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 keyword arguments
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
291 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 created Function object
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295 </dd>
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 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 <dt>Return Type:</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 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 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 <a NAME="Function.__init__" ID="Function.__init__"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 <h4>Function (Constructor)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305 <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
306
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
307 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308 Constructor
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 <dt><i>name</i> (str)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314 name of the function
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
315 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 <dt><i>lineno</i> (int)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 line number
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320 <dt><i>col_offset</i> (int)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322 column number
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>functionType</i> (FunctionType (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 type of the function (defaults to
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
327 FunctionType.PUBLIC)
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>isClassMethod</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 a class method (defaults to False)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333 <dt><i>classDecoratorType</i> (ClassDecoratorType or None (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 type of a function decorator
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336 (defaults to None)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 <dt><i>isReturnAnnotated</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
339 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 flag indicating the presence of a return
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
341 type annotation (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>hasTypeComment</i> (bool (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 flag indicating the presence of a type comment
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346 (defaults to False)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 <dt><i>hasOnlyNoneReturns</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 flag indicating only None return values
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 (defaults to True)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 <dt><i>isNested</i> (bool (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
355 flag indicating a nested function (defaults to False)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357 <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
358 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
359 list of decorator nodes (defaults to None)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361 <dt><i>args</i> (list of Argument (optional))</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 list of arguments (defaults to None)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 <a NAME="Function.__decoratorChecker" ID="Function.__decoratorChecker"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 <h4>Function.__decoratorChecker</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
368 <b>__decoratorChecker</b>(<i>decorator, checkDecorators</i>)
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 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 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
372 provided set of check names.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
373 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 Decorators are assumed to be of the following form:
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
376 * `a.name` or `a.name()`
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
377 * `name` or `name()`
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380 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
381 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
382 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
383
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 <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
385 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
386 decorator node to check
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 <dt><i>checkDecorators</i> (set of str)</dt>
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 set of decorators to check against
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
391 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
392 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
393 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
394 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
395 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
396 flag indicating the presence of any decorators
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
397 </dd>
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 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
400 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
401 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
402 bool
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
403 </dd>
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 <a NAME="Function.getAnnotatedArguments" ID="Function.getAnnotatedArguments"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
406 <h4>Function.getAnnotatedArguments</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
407 <b>getAnnotatedArguments</b>(<i></i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
408
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
409 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
410 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
411 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
412 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
413 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
414 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
415 list of arguments with type annotations.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
416 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
417 </dl>
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 Type:</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 Argument
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 <a NAME="Function.getMissedAnnotations" ID="Function.getMissedAnnotations"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
425 <h4>Function.getMissedAnnotations</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
426 <b>getMissedAnnotations</b>(<i></i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
427
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
428 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
429 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
430 annotations.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
431 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
432 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
433 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
435 list of arguments with missing type annotations
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
436 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
437 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
439 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
440 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
441 list of Argument
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
442 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
443 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
444 <a NAME="Function.hasDecorator" ID="Function.hasDecorator"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
445 <h4>Function.hasDecorator</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
446 <b>hasDecorator</b>(<i>checkDecorators</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
447
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 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
450 the provided decorators.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
451 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
452 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
453 Decorator matching is done against the provided `checkDecorators` set.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454 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
455 `@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
456 module attribute, only the attribute is checked against
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
457 `overload_decorators`.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
458 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
459 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
460 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
461 supported.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
462 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
463 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
464
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
465 <dt><i>checkDecorators</i> (set of str)</dt>
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 set of decorators to check against
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
468 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
469 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
470 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
471 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
472 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
473 flag indicating the presence of any decorators
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
474 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
475 </dl>
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 Type:</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 bool
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 <a NAME="Function.isDynamicallyTyped" ID="Function.isDynamicallyTyped"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
483 <h4>Function.isDynamicallyTyped</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
484 <b>isDynamicallyTyped</b>(<i></i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
485
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
486 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
487 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
488 (i.e. completely lacking hints).
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
489 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
490 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
491 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
492 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
493 flag indicating a dynamically typed function definition
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
494 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
495 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
496 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
497 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
498 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
499 bool
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
500 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
501 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
502 <a NAME="Function.isFullyAnnotated" ID="Function.isFullyAnnotated"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
503 <h4>Function.isFullyAnnotated</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
504 <b>isFullyAnnotated</b>(<i></i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
505
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
506 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
507 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
508 annotated.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
509 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
510 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
511 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
512 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
513 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
514 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
515 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
516 flag indicating a fully annotated function definition
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
517 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
518 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
519 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
520 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
521 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
522 bool
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
523 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
524 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
525 <a NAME="Function._maybeInjectClassArgument" ID="Function._maybeInjectClassArgument"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
526 <h4>Function._maybeInjectClassArgument (static)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
527 <b>_maybeInjectClassArgument</b>(<i>funcObj</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
528
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
529 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
530 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
531 align with PEP 3107-style annotations.
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 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
535 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
536 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
537 method arguments.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
538 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
539 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
540 These two class methods, for example, should lint equivalently:
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
541 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
542 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
543 def bar(self, a):
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
544 # type: (int) -> int
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
545 ...
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
546 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
547 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
548 def bar(self, a: int) -> int
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
549 ...
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 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
552 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
553 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
554 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
555 `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
556 achieve equivalent linting results to PEP-3107 style annotations.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
557 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
558 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
559 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
560 are met:
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
561 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
562 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
563 of function args
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
564 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
565 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
566
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
567 <dt><i>hintTree</i> (ast.FunctionType)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
568 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
569 parsed type hint node
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 <dt><i>funcObj</i> (Function)</dt>
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 reference to the Function object
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
574 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
575 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
576 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
577 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
578 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
579 reference to the hint node
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
580 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
581 </dl>
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 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
584 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
585 ast.FunctionType
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
586 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
588 <a NAME="Function._singleLineColonSeeker" ID="Function._singleLineColonSeeker"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
589 <h4>Function._singleLineColonSeeker (static)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
590 <b>_singleLineColonSeeker</b>(<i>line</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
591
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
592 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
593 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
594 function definition.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
595 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
596 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
597
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
598 <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
599 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
600 reference to the function definition node
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 <dt><i>line</i> (str)</dt>
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 source code line
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
605 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
606 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
607 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
608 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
609 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
610 line and column offset of the colon
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
611 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
612 </dl>
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 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
615 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
616 tuple of (int, int)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
617 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
618 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
619 <a NAME="Function.colonSeeker" ID="Function.colonSeeker"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
620 <h4>Function.colonSeeker (static)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
621 <b>colonSeeker</b>(<i>lines</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
622
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
623 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
624 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
625 definition's closing colon.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
626 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
627 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
628
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
629 <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
630 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
631 reference to the function definition node
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 <dt><i>lines</i> (list of str)</dt>
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 list of source code lines
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
636 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
637 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
638 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
639 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
640 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
641 line and column offset of the colon
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
642 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
643 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
644 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
645 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
646 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
647 tuple of (int, int)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
648 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
649 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
650 <a NAME="Function.getClassDecoratorType" ID="Function.getClassDecoratorType"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
651 <h4>Function.getClassDecoratorType (static)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
652 <b>getClassDecoratorType</b>(<i></i>)
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 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
655 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
656 function node.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
657 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
658 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
659 Only @classmethod and @staticmethod decorators are identified; all
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
660 other decorators are ignored
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
661 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
662 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
663 If @classmethod or @staticmethod decorators are not present, this
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
664 function will return None.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
665 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
666 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
667
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
668 <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
669 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
670 reference to the function definition node
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
671 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
672 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
673 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
674 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
675 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
676 class decorator type
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
677 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
678 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
679 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
680 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
681 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
682 ClassDecoratorType or None
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
683 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
684 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
685 <a NAME="Function.getFunctionType" ID="Function.getFunctionType"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
686 <h4>Function.getFunctionType (static)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
687 <b>getFunctionType</b>(<i></i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
688
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
689 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
690 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
691 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
692 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
693 MethodType is determined by the following priority:
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
694 1. Special: function name prefixed & suffixed by "__"
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
695 2. Private: function name prefixed by "__"
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
696 3. Protected: function name prefixed by "_"
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
697 4. Public: everything else
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
698 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
699 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
700
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
701 <dt><i>functionName</i> (str)</dt>
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 function name to be checked
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
704 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
705 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
706 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
707 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
708 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
709 type of function
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
710 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
711 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
712 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
713 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
714 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
715 FunctionType
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
716 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
717 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
718 <a NAME="Function.tryTypeComment" ID="Function.tryTypeComment"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
719 <h4>Function.tryTypeComment (static)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
720 <b>tryTypeComment</b>(<i>node</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
721
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
722 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
723 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
724 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
725 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
726 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
727 annotation, otherwise Python will fail to parse the hint.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
728 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
729 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
730
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
731 <dt><i>funcObj</i> (Function)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
732 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
733 reference to the Function object
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 <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
736 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
737 reference to the function definition node
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
738 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
739 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
740 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
741 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
742 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
743 reference to the modified Function object
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
744 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
745 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
746 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
747 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
748 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
749 Function
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
750 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
751 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
752 <div align="right"><a href="#top">Up</a></div>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
753 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
754 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
755 <a NAME="FunctionVisitor" ID="FunctionVisitor"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
756 <h2>FunctionVisitor</h2>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
757
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
758 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
759 Class implementing a node visitor to check function annotations.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
760 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
761 <h3>Derived from</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
762 ast.NodeVisitor
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
763 <h3>Class Attributes</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
764
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
765 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
766 <tr><td>visit_AsyncFunctionDef</td></tr><tr><td>visit_ClassDef</td></tr><tr><td>visit_FunctionDef</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
767 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
768 <h3>Class Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
769
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
770 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
771 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
772 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
773 <h3>Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
774
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
775 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
776
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
777 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
778 <td><a href="#FunctionVisitor.__init__">FunctionVisitor</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
779 <td>Constructor</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
780 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
781 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
782 <td><a href="#FunctionVisitor.switchContext">switchContext</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
783 <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
784 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
785 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
786 <h3>Static Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
787
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
788 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
789 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
790 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
791
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
792 <a NAME="FunctionVisitor.__init__" ID="FunctionVisitor.__init__"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
793 <h4>FunctionVisitor (Constructor)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
794 <b>FunctionVisitor</b>(<i>lines</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 Constructor
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
798 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
799 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
800
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
801 <dt><i>lines</i> (list of str)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
802 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
803 source code lines of the function
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
804 </dd>
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 <a NAME="FunctionVisitor.switchContext" ID="FunctionVisitor.switchContext"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
807 <h4>FunctionVisitor.switchContext</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
808 <b>switchContext</b>(<i>node</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
809
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
810 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
811 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
812 visitor in order to track function context.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
813 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
814 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
815 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
816 differentiate class methods from "regular" functions, especially in the
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
817 case of nested classes.
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 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
820
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
821 <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
822 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
823 reference to the function definition node to be analyzed
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
824 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
825 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
826 <div align="right"><a href="#top">Up</a></div>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
827 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
828 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
829 <a NAME="ReturnVisitor" ID="ReturnVisitor"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
830 <h2>ReturnVisitor</h2>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
831
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 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
834 function node.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
835 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
836 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
837 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
838 anything other than `None`, the `instance.hasOnlyNoneReturns` flag will
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
839 be set to `False`.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
840 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
841 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
842 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
843 only return statement(s) that explicitly return `None`, the
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
844 `instance.hasOnlyNoneReturns` flag will be set to `True`.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
845 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
846 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
847 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
848 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
849 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
850 present.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
851 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
852 <h3>Derived from</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
853 ast.NodeVisitor
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
854 <h3>Class Attributes</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
855
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
856 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
857 <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
858 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
859 <h3>Class Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
860
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
861 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
862 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
863 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
864 <h3>Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
865
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
866 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
867
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
868 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
869 <td><a href="#ReturnVisitor.__init__">ReturnVisitor</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
870 <td>Constructor</td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
871 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
872 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
873 <td><a href="#ReturnVisitor.hasOnlyNoneReturns">hasOnlyNoneReturns</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
874 <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
875 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
876 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
877 <td><a href="#ReturnVisitor.switchContext">switchContext</a></td>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
878 <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
879 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
880 <tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
881 <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
882 <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
883 </tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
884 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
885 <h3>Static Methods</h3>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
886
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
887 <table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
888 <tr><td>None</td></tr>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
889 </table>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
890
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
891 <a NAME="ReturnVisitor.__init__" ID="ReturnVisitor.__init__"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
892 <h4>ReturnVisitor (Constructor)</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
893 <b>ReturnVisitor</b>(<i>parentNode</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
894
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
895 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
896 Constructor
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
897 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
898 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
899
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
900 <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
901 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
902 reference to the function definition node to be
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
903 analyzed
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
904 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
905 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
906 <a NAME="ReturnVisitor.hasOnlyNoneReturns" ID="ReturnVisitor.hasOnlyNoneReturns"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
907 <h4>ReturnVisitor.hasOnlyNoneReturns</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
908 <b>hasOnlyNoneReturns</b>(<i></i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
909
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
910 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
911 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
912 nodes that don't return `None`.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
913 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
914 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
915 <dt>Return:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
916 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
917 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
918 nodes that don't return `None`
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
919 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
920 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
921 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
922 <dt>Return Type:</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
923 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
924 bool
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
925 </dd>
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 <a NAME="ReturnVisitor.switchContext" ID="ReturnVisitor.switchContext"></a>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
928 <h4>ReturnVisitor.switchContext</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
929 <b>switchContext</b>(<i>node</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
930
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
931 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
932 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
933 visitor in order to track function context.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
934 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
935 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
936 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
937 differentiate class methods from "regular" functions, especially in the
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
938 case of nested classes.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
939 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
940 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
941
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
942 <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
943 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
944 reference to the function definition node to be analyzed
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
945 </dd>
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 <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
948 <h4>ReturnVisitor.visit_Return</h4>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
949 <b>visit_Return</b>(<i>node</i>)
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
950
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
951 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
952 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
953 other than `None`.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
954 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
955 <p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
956 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
957 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
958 the parent node.
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
959 </p>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
960 <dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
961
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
962 <dt><i>node</i> (ast.Return)</dt>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
963 <dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
964 reference to the AST Return node
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
965 </dd>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
966 </dl>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
967 <div align="right"><a href="#top">Up</a></div>
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
968 <hr />
e0227a7c850e Generated source docu for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
969 </body></html>

eric ide

mercurial