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

Fri, 19 May 2023 15:09:24 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 19 May 2023 15:09:24 +0200
branch
eric7
changeset 10040
b5ef1a93cd1a
parent 9295
d14096c04126
child 10058
5d965939ab85
permissions
-rw-r--r--

Editor, Search & Replace widget:
- Changed the logic in replace mode such, that the find text is copied to the replace text entry, when it receives the focus and is empty. (see issue 502).

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

eric ide

mercurial