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

Tue, 23 Aug 2022 19:35:42 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 23 Aug 2022 19:35:42 +0200
branch
eric7
changeset 9295
d14096c04126
parent 9236
db53a9efe7ef
child 10058
5d965939ab85
permissions
-rw-r--r--

Updated source documentation.

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