|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' |
|
3 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'> |
|
4 <html><head> |
|
5 <title>eric5.Utilities.py3flakes.checker</title> |
|
6 <style> |
|
7 body { |
|
8 background:white; |
|
9 margin: 0em 1em 10em 1em; |
|
10 color: black; |
|
11 } |
|
12 |
|
13 h1 { color: white; background: #4FA4FF; } |
|
14 h2 { color: white; background: #4FA4FF; } |
|
15 h3 { color: white; background: #00557F; } |
|
16 h4 { color: white; background: #00557F; } |
|
17 |
|
18 a { color: #AA5500; } |
|
19 |
|
20 </style> |
|
21 </head> |
|
22 <body><a NAME="top" ID="top"></a> |
|
23 <h1>eric5.Utilities.py3flakes.checker</h1> |
|
24 |
|
25 <h3>Global Attributes</h3> |
|
26 <table> |
|
27 <tr><td>_MAGIC_GLOBALS</td></tr> |
|
28 </table> |
|
29 <h3>Classes</h3> |
|
30 <table> |
|
31 <tr> |
|
32 <td><a href="#Argument">Argument</a></td> |
|
33 <td>Represents binding a name as an argument.</td> |
|
34 </tr><tr> |
|
35 <td><a href="#Assignment">Assignment</a></td> |
|
36 <td>Represents binding a name with an explicit assignment.</td> |
|
37 </tr><tr> |
|
38 <td><a href="#Binding">Binding</a></td> |
|
39 <td>Represents the binding of a value to a name.</td> |
|
40 </tr><tr> |
|
41 <td><a href="#Checker">Checker</a></td> |
|
42 <td>Class to check the cleanliness and sanity of Python code.</td> |
|
43 </tr><tr> |
|
44 <td><a href="#ClassScope">ClassScope</a></td> |
|
45 <td>Class representing a name scope for a class.</td> |
|
46 </tr><tr> |
|
47 <td><a href="#ExportBinding">ExportBinding</a></td> |
|
48 <td>A binding created by an __all__ assignment.</td> |
|
49 </tr><tr> |
|
50 <td><a href="#FunctionDefinition">FunctionDefinition</a></td> |
|
51 <td>Represents a function definition.</td> |
|
52 </tr><tr> |
|
53 <td><a href="#FunctionScope">FunctionScope</a></td> |
|
54 <td>Class representing a name scope for a function.</td> |
|
55 </tr><tr> |
|
56 <td><a href="#Importation">Importation</a></td> |
|
57 <td>A binding created by an import statement.</td> |
|
58 </tr><tr> |
|
59 <td><a href="#ModuleScope">ModuleScope</a></td> |
|
60 <td>Class representing a name scope for a module.</td> |
|
61 </tr><tr> |
|
62 <td><a href="#Scope">Scope</a></td> |
|
63 <td>Class defining the scope base class.</td> |
|
64 </tr><tr> |
|
65 <td><a href="#UnBinding">UnBinding</a></td> |
|
66 <td>Created by the 'del' operator.</td> |
|
67 </tr> |
|
68 </table> |
|
69 <h3>Functions</h3> |
|
70 <table> |
|
71 <tr><td>None</td></tr> |
|
72 </table> |
|
73 <hr /><hr /> |
|
74 <a NAME="Argument" ID="Argument"></a> |
|
75 <h2>Argument</h2> |
|
76 <p> |
|
77 Represents binding a name as an argument. |
|
78 </p> |
|
79 <h3>Derived from</h3> |
|
80 Binding |
|
81 <h3>Class Attributes</h3> |
|
82 <table> |
|
83 <tr><td>None</td></tr> |
|
84 </table> |
|
85 <h3>Methods</h3> |
|
86 <table> |
|
87 <tr><td>None</td></tr> |
|
88 </table> |
|
89 |
|
90 <div align="right"><a href="#top">Up</a></div> |
|
91 <hr /><hr /> |
|
92 <a NAME="Assignment" ID="Assignment"></a> |
|
93 <h2>Assignment</h2> |
|
94 <p> |
|
95 Represents binding a name with an explicit assignment. |
|
96 </p><p> |
|
97 The checker will raise warnings for any Assignment that isn't used. Also, |
|
98 the checker does not consider assignments in tuple/list unpacking to be |
|
99 Assignments, rather it treats them as simple Bindings. |
|
100 </p> |
|
101 <h3>Derived from</h3> |
|
102 Binding |
|
103 <h3>Class Attributes</h3> |
|
104 <table> |
|
105 <tr><td>None</td></tr> |
|
106 </table> |
|
107 <h3>Methods</h3> |
|
108 <table> |
|
109 <tr><td>None</td></tr> |
|
110 </table> |
|
111 |
|
112 <div align="right"><a href="#top">Up</a></div> |
|
113 <hr /><hr /> |
|
114 <a NAME="Binding" ID="Binding"></a> |
|
115 <h2>Binding</h2> |
|
116 <p> |
|
117 Represents the binding of a value to a name. |
|
118 </p><p> |
|
119 The checker uses this to keep track of which names have been bound and |
|
120 which names have not. See Assignment for a special type of binding that |
|
121 is checked with stricter rules. |
|
122 </p> |
|
123 <h3>Derived from</h3> |
|
124 object |
|
125 <h3>Class Attributes</h3> |
|
126 <table> |
|
127 <tr><td>None</td></tr> |
|
128 </table> |
|
129 <h3>Methods</h3> |
|
130 <table> |
|
131 <tr> |
|
132 <td><a href="#Binding.__init__">Binding</a></td> |
|
133 <td></td> |
|
134 </tr><tr> |
|
135 <td><a href="#Binding.__repr__">__repr__</a></td> |
|
136 <td></td> |
|
137 </tr><tr> |
|
138 <td><a href="#Binding.__str__">__str__</a></td> |
|
139 <td></td> |
|
140 </tr> |
|
141 </table> |
|
142 <a NAME="Binding.__init__" ID="Binding.__init__"></a> |
|
143 <h4>Binding (Constructor)</h4> |
|
144 <b>Binding</b>(<i>name, source</i>) |
|
145 <a NAME="Binding.__repr__" ID="Binding.__repr__"></a> |
|
146 <h4>Binding.__repr__</h4> |
|
147 <b>__repr__</b>(<i></i>) |
|
148 <a NAME="Binding.__str__" ID="Binding.__str__"></a> |
|
149 <h4>Binding.__str__</h4> |
|
150 <b>__str__</b>(<i></i>) |
|
151 |
|
152 <div align="right"><a href="#top">Up</a></div> |
|
153 <hr /><hr /> |
|
154 <a NAME="Checker" ID="Checker"></a> |
|
155 <h2>Checker</h2> |
|
156 <p> |
|
157 Class to check the cleanliness and sanity of Python code. |
|
158 </p> |
|
159 <h3>Derived from</h3> |
|
160 object |
|
161 <h3>Class Attributes</h3> |
|
162 <table> |
|
163 <tr><td>ATTRIBUTES</td></tr><tr><td>INVERT</td></tr><tr><td>MOD</td></tr><tr><td>NONLOCAL</td></tr><tr><td>PASS</td></tr><tr><td>SET</td></tr><tr><td>SETCOMP</td></tr><tr><td>WHILE</td></tr><tr><td>nodeDepth</td></tr><tr><td>scope</td></tr><tr><td>traceTree</td></tr> |
|
164 </table> |
|
165 <h3>Methods</h3> |
|
166 <table> |
|
167 <tr> |
|
168 <td><a href="#Checker.__init__">Checker</a></td> |
|
169 <td>Constructor</td> |
|
170 </tr><tr> |
|
171 <td><a href="#Checker.ASSERT">ASSERT</a></td> |
|
172 <td></td> |
|
173 </tr><tr> |
|
174 <td><a href="#Checker.ASSIGN">ASSIGN</a></td> |
|
175 <td></td> |
|
176 </tr><tr> |
|
177 <td><a href="#Checker.ATTRIBUTE">ATTRIBUTE</a></td> |
|
178 <td></td> |
|
179 </tr><tr> |
|
180 <td><a href="#Checker.AUGASSIGN">AUGASSIGN</a></td> |
|
181 <td></td> |
|
182 </tr><tr> |
|
183 <td><a href="#Checker.BINOP">BINOP</a></td> |
|
184 <td></td> |
|
185 </tr><tr> |
|
186 <td><a href="#Checker.BOOLOP">BOOLOP</a></td> |
|
187 <td></td> |
|
188 </tr><tr> |
|
189 <td><a href="#Checker.CALL">CALL</a></td> |
|
190 <td></td> |
|
191 </tr><tr> |
|
192 <td><a href="#Checker.CLASSDEF">CLASSDEF</a></td> |
|
193 <td>Check names used in a class definition, including its decorators, base classes, and the body of its definition.</td> |
|
194 </tr><tr> |
|
195 <td><a href="#Checker.COMPARE">COMPARE</a></td> |
|
196 <td></td> |
|
197 </tr><tr> |
|
198 <td><a href="#Checker.COMPREHENSION">COMPREHENSION</a></td> |
|
199 <td></td> |
|
200 </tr><tr> |
|
201 <td><a href="#Checker.DELETE">DELETE</a></td> |
|
202 <td></td> |
|
203 </tr><tr> |
|
204 <td><a href="#Checker.DICT">DICT</a></td> |
|
205 <td></td> |
|
206 </tr><tr> |
|
207 <td><a href="#Checker.DICTCOMP">DICTCOMP</a></td> |
|
208 <td></td> |
|
209 </tr><tr> |
|
210 <td><a href="#Checker.EXCEPTHANDLER">EXCEPTHANDLER</a></td> |
|
211 <td></td> |
|
212 </tr><tr> |
|
213 <td><a href="#Checker.EXPR">EXPR</a></td> |
|
214 <td></td> |
|
215 </tr><tr> |
|
216 <td><a href="#Checker.EXTSLICE">EXTSLICE</a></td> |
|
217 <td></td> |
|
218 </tr><tr> |
|
219 <td><a href="#Checker.FOR">FOR</a></td> |
|
220 <td>Process bindings for loop variables.</td> |
|
221 </tr><tr> |
|
222 <td><a href="#Checker.FUNCTIONDEF">FUNCTIONDEF</a></td> |
|
223 <td></td> |
|
224 </tr><tr> |
|
225 <td><a href="#Checker.GLOBAL">GLOBAL</a></td> |
|
226 <td>Keep track of globals declarations.</td> |
|
227 </tr><tr> |
|
228 <td><a href="#Checker.IF">IF</a></td> |
|
229 <td></td> |
|
230 </tr><tr> |
|
231 <td><a href="#Checker.IFEXP">IFEXP</a></td> |
|
232 <td></td> |
|
233 </tr><tr> |
|
234 <td><a href="#Checker.IMPORT">IMPORT</a></td> |
|
235 <td></td> |
|
236 </tr><tr> |
|
237 <td><a href="#Checker.IMPORTFROM">IMPORTFROM</a></td> |
|
238 <td></td> |
|
239 </tr><tr> |
|
240 <td><a href="#Checker.INDEX">INDEX</a></td> |
|
241 <td></td> |
|
242 </tr><tr> |
|
243 <td><a href="#Checker.KEYWORD">KEYWORD</a></td> |
|
244 <td></td> |
|
245 </tr><tr> |
|
246 <td><a href="#Checker.LAMBDA">LAMBDA</a></td> |
|
247 <td></td> |
|
248 </tr><tr> |
|
249 <td><a href="#Checker.LIST">LIST</a></td> |
|
250 <td></td> |
|
251 </tr><tr> |
|
252 <td><a href="#Checker.LISTCOMP">LISTCOMP</a></td> |
|
253 <td></td> |
|
254 </tr><tr> |
|
255 <td><a href="#Checker.NAME">NAME</a></td> |
|
256 <td>Locate the name in locals / function / globals scopes.</td> |
|
257 </tr><tr> |
|
258 <td><a href="#Checker.RAISE">RAISE</a></td> |
|
259 <td></td> |
|
260 </tr><tr> |
|
261 <td><a href="#Checker.RETURN">RETURN</a></td> |
|
262 <td></td> |
|
263 </tr><tr> |
|
264 <td><a href="#Checker.SLICE">SLICE</a></td> |
|
265 <td></td> |
|
266 </tr><tr> |
|
267 <td><a href="#Checker.STARRED">STARRED</a></td> |
|
268 <td></td> |
|
269 </tr><tr> |
|
270 <td><a href="#Checker.SUBSCRIPT">SUBSCRIPT</a></td> |
|
271 <td></td> |
|
272 </tr><tr> |
|
273 <td><a href="#Checker.TRYEXCEPT">TRYEXCEPT</a></td> |
|
274 <td></td> |
|
275 </tr><tr> |
|
276 <td><a href="#Checker.TRYFINALLY">TRYFINALLY</a></td> |
|
277 <td></td> |
|
278 </tr><tr> |
|
279 <td><a href="#Checker.UNARYOP">UNARYOP</a></td> |
|
280 <td></td> |
|
281 </tr><tr> |
|
282 <td><a href="#Checker.WITH">WITH</a></td> |
|
283 <td>Handle with by checking the target of the statement (which can be an identifier, a list or tuple of targets, an attribute, etc) for undefined names and defining any it adds to the scope and by continuing to process the suite within the statement.</td> |
|
284 </tr><tr> |
|
285 <td><a href="#Checker.YIELD">YIELD</a></td> |
|
286 <td></td> |
|
287 </tr><tr> |
|
288 <td><a href="#Checker._runDeferred">_runDeferred</a></td> |
|
289 <td>Run the callables in deferred using their associated scope stack.</td> |
|
290 </tr><tr> |
|
291 <td><a href="#Checker.addArgs">addArgs</a></td> |
|
292 <td></td> |
|
293 </tr><tr> |
|
294 <td><a href="#Checker.addBinding">addBinding</a></td> |
|
295 <td>Called when a binding is altered.</td> |
|
296 </tr><tr> |
|
297 <td><a href="#Checker.checkUnusedAssignments">checkUnusedAssignments</a></td> |
|
298 <td>Check to see if any assignments have not been used.</td> |
|
299 </tr><tr> |
|
300 <td><a href="#Checker.check_dead_scopes">check_dead_scopes</a></td> |
|
301 <td>Look at scopes which have been fully examined and report names in them which were imported but unused.</td> |
|
302 </tr><tr> |
|
303 <td><a href="#Checker.collectLoopVars">collectLoopVars</a></td> |
|
304 <td></td> |
|
305 </tr><tr> |
|
306 <td><a href="#Checker.deferAssignment">deferAssignment</a></td> |
|
307 <td>Schedule an assignment handler to be called just after deferred function handlers.</td> |
|
308 </tr><tr> |
|
309 <td><a href="#Checker.deferFunction">deferFunction</a></td> |
|
310 <td>Schedule a function handler to be called just before completion.</td> |
|
311 </tr><tr> |
|
312 <td><a href="#Checker.handleAssignName">handleAssignName</a></td> |
|
313 <td></td> |
|
314 </tr><tr> |
|
315 <td><a href="#Checker.handleBody">handleBody</a></td> |
|
316 <td></td> |
|
317 </tr><tr> |
|
318 <td><a href="#Checker.handleNode">handleNode</a></td> |
|
319 <td></td> |
|
320 </tr><tr> |
|
321 <td><a href="#Checker.ignore">ignore</a></td> |
|
322 <td></td> |
|
323 </tr><tr> |
|
324 <td><a href="#Checker.popScope">popScope</a></td> |
|
325 <td></td> |
|
326 </tr><tr> |
|
327 <td><a href="#Checker.pushClassScope">pushClassScope</a></td> |
|
328 <td></td> |
|
329 </tr><tr> |
|
330 <td><a href="#Checker.pushFunctionScope">pushFunctionScope</a></td> |
|
331 <td></td> |
|
332 </tr><tr> |
|
333 <td><a href="#Checker.report">report</a></td> |
|
334 <td></td> |
|
335 </tr><tr> |
|
336 <td><a href="#Checker.runFunction">runFunction</a></td> |
|
337 <td></td> |
|
338 </tr><tr> |
|
339 <td><a href="#Checker.scope">scope</a></td> |
|
340 <td></td> |
|
341 </tr> |
|
342 </table> |
|
343 <a NAME="Checker.__init__" ID="Checker.__init__"></a> |
|
344 <h4>Checker (Constructor)</h4> |
|
345 <b>Checker</b>(<i>module, filename = '(none)'</i>) |
|
346 <p> |
|
347 Constructor |
|
348 </p><dl> |
|
349 <dt><i>module</i></dt> |
|
350 <dd> |
|
351 parsed module tree or module source code |
|
352 </dd><dt><i>filename</i></dt> |
|
353 <dd> |
|
354 name of the module file (string) |
|
355 </dd> |
|
356 </dl><a NAME="Checker.ASSERT" ID="Checker.ASSERT"></a> |
|
357 <h4>Checker.ASSERT</h4> |
|
358 <b>ASSERT</b>(<i>node</i>) |
|
359 <a NAME="Checker.ASSIGN" ID="Checker.ASSIGN"></a> |
|
360 <h4>Checker.ASSIGN</h4> |
|
361 <b>ASSIGN</b>(<i>node</i>) |
|
362 <a NAME="Checker.ATTRIBUTE" ID="Checker.ATTRIBUTE"></a> |
|
363 <h4>Checker.ATTRIBUTE</h4> |
|
364 <b>ATTRIBUTE</b>(<i>node</i>) |
|
365 <a NAME="Checker.AUGASSIGN" ID="Checker.AUGASSIGN"></a> |
|
366 <h4>Checker.AUGASSIGN</h4> |
|
367 <b>AUGASSIGN</b>(<i>node</i>) |
|
368 <a NAME="Checker.BINOP" ID="Checker.BINOP"></a> |
|
369 <h4>Checker.BINOP</h4> |
|
370 <b>BINOP</b>(<i>node</i>) |
|
371 <a NAME="Checker.BOOLOP" ID="Checker.BOOLOP"></a> |
|
372 <h4>Checker.BOOLOP</h4> |
|
373 <b>BOOLOP</b>(<i>node</i>) |
|
374 <a NAME="Checker.CALL" ID="Checker.CALL"></a> |
|
375 <h4>Checker.CALL</h4> |
|
376 <b>CALL</b>(<i>node</i>) |
|
377 <a NAME="Checker.CLASSDEF" ID="Checker.CLASSDEF"></a> |
|
378 <h4>Checker.CLASSDEF</h4> |
|
379 <b>CLASSDEF</b>(<i>node</i>) |
|
380 <p> |
|
381 Check names used in a class definition, including its decorators, base |
|
382 classes, and the body of its definition. Additionally, add its name to |
|
383 the current scope. |
|
384 </p><a NAME="Checker.COMPARE" ID="Checker.COMPARE"></a> |
|
385 <h4>Checker.COMPARE</h4> |
|
386 <b>COMPARE</b>(<i>node</i>) |
|
387 <a NAME="Checker.COMPREHENSION" ID="Checker.COMPREHENSION"></a> |
|
388 <h4>Checker.COMPREHENSION</h4> |
|
389 <b>COMPREHENSION</b>(<i>node</i>) |
|
390 <a NAME="Checker.DELETE" ID="Checker.DELETE"></a> |
|
391 <h4>Checker.DELETE</h4> |
|
392 <b>DELETE</b>(<i>node</i>) |
|
393 <a NAME="Checker.DICT" ID="Checker.DICT"></a> |
|
394 <h4>Checker.DICT</h4> |
|
395 <b>DICT</b>(<i>node</i>) |
|
396 <a NAME="Checker.DICTCOMP" ID="Checker.DICTCOMP"></a> |
|
397 <h4>Checker.DICTCOMP</h4> |
|
398 <b>DICTCOMP</b>(<i>node</i>) |
|
399 <a NAME="Checker.EXCEPTHANDLER" ID="Checker.EXCEPTHANDLER"></a> |
|
400 <h4>Checker.EXCEPTHANDLER</h4> |
|
401 <b>EXCEPTHANDLER</b>(<i>node</i>) |
|
402 <a NAME="Checker.EXPR" ID="Checker.EXPR"></a> |
|
403 <h4>Checker.EXPR</h4> |
|
404 <b>EXPR</b>(<i>node</i>) |
|
405 <a NAME="Checker.EXTSLICE" ID="Checker.EXTSLICE"></a> |
|
406 <h4>Checker.EXTSLICE</h4> |
|
407 <b>EXTSLICE</b>(<i>node</i>) |
|
408 <a NAME="Checker.FOR" ID="Checker.FOR"></a> |
|
409 <h4>Checker.FOR</h4> |
|
410 <b>FOR</b>(<i>node</i>) |
|
411 <p> |
|
412 Process bindings for loop variables. |
|
413 </p><a NAME="Checker.FUNCTIONDEF" ID="Checker.FUNCTIONDEF"></a> |
|
414 <h4>Checker.FUNCTIONDEF</h4> |
|
415 <b>FUNCTIONDEF</b>(<i>node</i>) |
|
416 <a NAME="Checker.GLOBAL" ID="Checker.GLOBAL"></a> |
|
417 <h4>Checker.GLOBAL</h4> |
|
418 <b>GLOBAL</b>(<i>node</i>) |
|
419 <p> |
|
420 Keep track of globals declarations. |
|
421 </p><a NAME="Checker.IF" ID="Checker.IF"></a> |
|
422 <h4>Checker.IF</h4> |
|
423 <b>IF</b>(<i>node</i>) |
|
424 <a NAME="Checker.IFEXP" ID="Checker.IFEXP"></a> |
|
425 <h4>Checker.IFEXP</h4> |
|
426 <b>IFEXP</b>(<i>node</i>) |
|
427 <a NAME="Checker.IMPORT" ID="Checker.IMPORT"></a> |
|
428 <h4>Checker.IMPORT</h4> |
|
429 <b>IMPORT</b>(<i>node</i>) |
|
430 <a NAME="Checker.IMPORTFROM" ID="Checker.IMPORTFROM"></a> |
|
431 <h4>Checker.IMPORTFROM</h4> |
|
432 <b>IMPORTFROM</b>(<i>node</i>) |
|
433 <a NAME="Checker.INDEX" ID="Checker.INDEX"></a> |
|
434 <h4>Checker.INDEX</h4> |
|
435 <b>INDEX</b>(<i>node</i>) |
|
436 <a NAME="Checker.KEYWORD" ID="Checker.KEYWORD"></a> |
|
437 <h4>Checker.KEYWORD</h4> |
|
438 <b>KEYWORD</b>(<i>node</i>) |
|
439 <a NAME="Checker.LAMBDA" ID="Checker.LAMBDA"></a> |
|
440 <h4>Checker.LAMBDA</h4> |
|
441 <b>LAMBDA</b>(<i>node</i>) |
|
442 <a NAME="Checker.LIST" ID="Checker.LIST"></a> |
|
443 <h4>Checker.LIST</h4> |
|
444 <b>LIST</b>(<i>node</i>) |
|
445 <a NAME="Checker.LISTCOMP" ID="Checker.LISTCOMP"></a> |
|
446 <h4>Checker.LISTCOMP</h4> |
|
447 <b>LISTCOMP</b>(<i>node</i>) |
|
448 <a NAME="Checker.NAME" ID="Checker.NAME"></a> |
|
449 <h4>Checker.NAME</h4> |
|
450 <b>NAME</b>(<i>node</i>) |
|
451 <p> |
|
452 Locate the name in locals / function / globals scopes. |
|
453 </p><a NAME="Checker.RAISE" ID="Checker.RAISE"></a> |
|
454 <h4>Checker.RAISE</h4> |
|
455 <b>RAISE</b>(<i>node</i>) |
|
456 <a NAME="Checker.RETURN" ID="Checker.RETURN"></a> |
|
457 <h4>Checker.RETURN</h4> |
|
458 <b>RETURN</b>(<i>node</i>) |
|
459 <a NAME="Checker.SLICE" ID="Checker.SLICE"></a> |
|
460 <h4>Checker.SLICE</h4> |
|
461 <b>SLICE</b>(<i>node</i>) |
|
462 <a NAME="Checker.STARRED" ID="Checker.STARRED"></a> |
|
463 <h4>Checker.STARRED</h4> |
|
464 <b>STARRED</b>(<i>node</i>) |
|
465 <a NAME="Checker.SUBSCRIPT" ID="Checker.SUBSCRIPT"></a> |
|
466 <h4>Checker.SUBSCRIPT</h4> |
|
467 <b>SUBSCRIPT</b>(<i>node</i>) |
|
468 <a NAME="Checker.TRYEXCEPT" ID="Checker.TRYEXCEPT"></a> |
|
469 <h4>Checker.TRYEXCEPT</h4> |
|
470 <b>TRYEXCEPT</b>(<i>node</i>) |
|
471 <a NAME="Checker.TRYFINALLY" ID="Checker.TRYFINALLY"></a> |
|
472 <h4>Checker.TRYFINALLY</h4> |
|
473 <b>TRYFINALLY</b>(<i>node</i>) |
|
474 <a NAME="Checker.UNARYOP" ID="Checker.UNARYOP"></a> |
|
475 <h4>Checker.UNARYOP</h4> |
|
476 <b>UNARYOP</b>(<i>node</i>) |
|
477 <a NAME="Checker.WITH" ID="Checker.WITH"></a> |
|
478 <h4>Checker.WITH</h4> |
|
479 <b>WITH</b>(<i>node</i>) |
|
480 <p> |
|
481 Handle with by checking the target of the statement (which can be an |
|
482 identifier, a list or tuple of targets, an attribute, etc) for |
|
483 undefined names and defining any it adds to the scope and by continuing |
|
484 to process the suite within the statement. |
|
485 </p><a NAME="Checker.YIELD" ID="Checker.YIELD"></a> |
|
486 <h4>Checker.YIELD</h4> |
|
487 <b>YIELD</b>(<i>node</i>) |
|
488 <a NAME="Checker._runDeferred" ID="Checker._runDeferred"></a> |
|
489 <h4>Checker._runDeferred</h4> |
|
490 <b>_runDeferred</b>(<i>deferred</i>) |
|
491 <p> |
|
492 Run the callables in deferred using their associated scope stack. |
|
493 </p><a NAME="Checker.addArgs" ID="Checker.addArgs"></a> |
|
494 <h4>Checker.addArgs</h4> |
|
495 <b>addArgs</b>(<i></i>) |
|
496 <a NAME="Checker.addBinding" ID="Checker.addBinding"></a> |
|
497 <h4>Checker.addBinding</h4> |
|
498 <b>addBinding</b>(<i>lineno, value, reportRedef = True</i>) |
|
499 <p> |
|
500 Called when a binding is altered. |
|
501 </p><dl> |
|
502 <dt><i>lineno</i></dt> |
|
503 <dd> |
|
504 line of the statement responsible for the change (integer) |
|
505 </dd><dt><i>value</i></dt> |
|
506 <dd> |
|
507 the optional new value, a Binding instance, associated |
|
508 with the binding; if None, the binding is deleted if it exists |
|
509 </dd><dt><i>reportRedef</i></dt> |
|
510 <dd> |
|
511 flag indicating if rebinding while unused will be |
|
512 reported (boolean) |
|
513 </dd> |
|
514 </dl><a NAME="Checker.checkUnusedAssignments" ID="Checker.checkUnusedAssignments"></a> |
|
515 <h4>Checker.checkUnusedAssignments</h4> |
|
516 <b>checkUnusedAssignments</b>(<i></i>) |
|
517 <p> |
|
518 Check to see if any assignments have not been used. |
|
519 </p><a NAME="Checker.check_dead_scopes" ID="Checker.check_dead_scopes"></a> |
|
520 <h4>Checker.check_dead_scopes</h4> |
|
521 <b>check_dead_scopes</b>(<i></i>) |
|
522 <p> |
|
523 Look at scopes which have been fully examined and report names in them |
|
524 which were imported but unused. |
|
525 </p><a NAME="Checker.collectLoopVars" ID="Checker.collectLoopVars"></a> |
|
526 <h4>Checker.collectLoopVars</h4> |
|
527 <b>collectLoopVars</b>(<i></i>) |
|
528 <a NAME="Checker.deferAssignment" ID="Checker.deferAssignment"></a> |
|
529 <h4>Checker.deferAssignment</h4> |
|
530 <b>deferAssignment</b>(<i>callable</i>) |
|
531 <p> |
|
532 Schedule an assignment handler to be called just after deferred |
|
533 function handlers. |
|
534 </p><a NAME="Checker.deferFunction" ID="Checker.deferFunction"></a> |
|
535 <h4>Checker.deferFunction</h4> |
|
536 <b>deferFunction</b>(<i>callable</i>) |
|
537 <p> |
|
538 Schedule a function handler to be called just before completion. |
|
539 </p><p> |
|
540 This is used for handling function bodies, which must be deferred |
|
541 because code later in the file might modify the global scope. When |
|
542 `callable` is called, the scope at the time this is called will be |
|
543 restored, however it will contain any new bindings added to it. |
|
544 </p><a NAME="Checker.handleAssignName" ID="Checker.handleAssignName"></a> |
|
545 <h4>Checker.handleAssignName</h4> |
|
546 <b>handleAssignName</b>(<i>node</i>) |
|
547 <a NAME="Checker.handleBody" ID="Checker.handleBody"></a> |
|
548 <h4>Checker.handleBody</h4> |
|
549 <b>handleBody</b>(<i>tree</i>) |
|
550 <a NAME="Checker.handleNode" ID="Checker.handleNode"></a> |
|
551 <h4>Checker.handleNode</h4> |
|
552 <b>handleNode</b>(<i>node, parent</i>) |
|
553 <a NAME="Checker.ignore" ID="Checker.ignore"></a> |
|
554 <h4>Checker.ignore</h4> |
|
555 <b>ignore</b>(<i>node</i>) |
|
556 <a NAME="Checker.popScope" ID="Checker.popScope"></a> |
|
557 <h4>Checker.popScope</h4> |
|
558 <b>popScope</b>(<i></i>) |
|
559 <a NAME="Checker.pushClassScope" ID="Checker.pushClassScope"></a> |
|
560 <h4>Checker.pushClassScope</h4> |
|
561 <b>pushClassScope</b>(<i></i>) |
|
562 <a NAME="Checker.pushFunctionScope" ID="Checker.pushFunctionScope"></a> |
|
563 <h4>Checker.pushFunctionScope</h4> |
|
564 <b>pushFunctionScope</b>(<i></i>) |
|
565 <a NAME="Checker.report" ID="Checker.report"></a> |
|
566 <h4>Checker.report</h4> |
|
567 <b>report</b>(<i>messageClass, *args, **kwargs</i>) |
|
568 <a NAME="Checker.runFunction" ID="Checker.runFunction"></a> |
|
569 <h4>Checker.runFunction</h4> |
|
570 <b>runFunction</b>(<i></i>) |
|
571 <a NAME="Checker.scope" ID="Checker.scope"></a> |
|
572 <h4>Checker.scope</h4> |
|
573 <b>scope</b>(<i></i>) |
|
574 |
|
575 <div align="right"><a href="#top">Up</a></div> |
|
576 <hr /><hr /> |
|
577 <a NAME="ClassScope" ID="ClassScope"></a> |
|
578 <h2>ClassScope</h2> |
|
579 <p> |
|
580 Class representing a name scope for a class. |
|
581 </p> |
|
582 <h3>Derived from</h3> |
|
583 Scope |
|
584 <h3>Class Attributes</h3> |
|
585 <table> |
|
586 <tr><td>None</td></tr> |
|
587 </table> |
|
588 <h3>Methods</h3> |
|
589 <table> |
|
590 <tr><td>None</td></tr> |
|
591 </table> |
|
592 |
|
593 <div align="right"><a href="#top">Up</a></div> |
|
594 <hr /><hr /> |
|
595 <a NAME="ExportBinding" ID="ExportBinding"></a> |
|
596 <h2>ExportBinding</h2> |
|
597 <p> |
|
598 A binding created by an __all__ assignment. If the names in the list |
|
599 can be determined statically, they will be treated as names for export and |
|
600 additional checking applied to them. |
|
601 </p><p> |
|
602 The only __all__ assignment that can be recognized is one which takes |
|
603 the value of a literal list containing literal strings. For example:: |
|
604 </p><p> |
|
605 __all__ = ["foo", "bar"] |
|
606 </p><p> |
|
607 Names which are imported and not otherwise used but appear in the value of |
|
608 __all__ will not have an unused import warning reported for them. |
|
609 </p> |
|
610 <h3>Derived from</h3> |
|
611 Binding |
|
612 <h3>Class Attributes</h3> |
|
613 <table> |
|
614 <tr><td>None</td></tr> |
|
615 </table> |
|
616 <h3>Methods</h3> |
|
617 <table> |
|
618 <tr> |
|
619 <td><a href="#ExportBinding.names">names</a></td> |
|
620 <td>Return a list of the names referenced by this binding.</td> |
|
621 </tr> |
|
622 </table> |
|
623 <a NAME="ExportBinding.names" ID="ExportBinding.names"></a> |
|
624 <h4>ExportBinding.names</h4> |
|
625 <b>names</b>(<i></i>) |
|
626 <p> |
|
627 Return a list of the names referenced by this binding. |
|
628 </p> |
|
629 <div align="right"><a href="#top">Up</a></div> |
|
630 <hr /><hr /> |
|
631 <a NAME="FunctionDefinition" ID="FunctionDefinition"></a> |
|
632 <h2>FunctionDefinition</h2> |
|
633 <p> |
|
634 Represents a function definition. |
|
635 </p> |
|
636 <h3>Derived from</h3> |
|
637 Binding |
|
638 <h3>Class Attributes</h3> |
|
639 <table> |
|
640 <tr><td>None</td></tr> |
|
641 </table> |
|
642 <h3>Methods</h3> |
|
643 <table> |
|
644 <tr><td>None</td></tr> |
|
645 </table> |
|
646 |
|
647 <div align="right"><a href="#top">Up</a></div> |
|
648 <hr /><hr /> |
|
649 <a NAME="FunctionScope" ID="FunctionScope"></a> |
|
650 <h2>FunctionScope</h2> |
|
651 <p> |
|
652 Class representing a name scope for a function. |
|
653 </p> |
|
654 <h3>Derived from</h3> |
|
655 Scope |
|
656 <h3>Class Attributes</h3> |
|
657 <table> |
|
658 <tr><td>None</td></tr> |
|
659 </table> |
|
660 <h3>Methods</h3> |
|
661 <table> |
|
662 <tr> |
|
663 <td><a href="#FunctionScope.__init__">FunctionScope</a></td> |
|
664 <td></td> |
|
665 </tr> |
|
666 </table> |
|
667 <a NAME="FunctionScope.__init__" ID="FunctionScope.__init__"></a> |
|
668 <h4>FunctionScope (Constructor)</h4> |
|
669 <b>FunctionScope</b>(<i></i>) |
|
670 |
|
671 <div align="right"><a href="#top">Up</a></div> |
|
672 <hr /><hr /> |
|
673 <a NAME="Importation" ID="Importation"></a> |
|
674 <h2>Importation</h2> |
|
675 <p> |
|
676 A binding created by an import statement. |
|
677 </p> |
|
678 <h3>Derived from</h3> |
|
679 Binding |
|
680 <h3>Class Attributes</h3> |
|
681 <table> |
|
682 <tr><td>None</td></tr> |
|
683 </table> |
|
684 <h3>Methods</h3> |
|
685 <table> |
|
686 <tr> |
|
687 <td><a href="#Importation.__init__">Importation</a></td> |
|
688 <td></td> |
|
689 </tr> |
|
690 </table> |
|
691 <a NAME="Importation.__init__" ID="Importation.__init__"></a> |
|
692 <h4>Importation (Constructor)</h4> |
|
693 <b>Importation</b>(<i>name, source</i>) |
|
694 |
|
695 <div align="right"><a href="#top">Up</a></div> |
|
696 <hr /><hr /> |
|
697 <a NAME="ModuleScope" ID="ModuleScope"></a> |
|
698 <h2>ModuleScope</h2> |
|
699 <p> |
|
700 Class representing a name scope for a module. |
|
701 </p> |
|
702 <h3>Derived from</h3> |
|
703 Scope |
|
704 <h3>Class Attributes</h3> |
|
705 <table> |
|
706 <tr><td>None</td></tr> |
|
707 </table> |
|
708 <h3>Methods</h3> |
|
709 <table> |
|
710 <tr><td>None</td></tr> |
|
711 </table> |
|
712 |
|
713 <div align="right"><a href="#top">Up</a></div> |
|
714 <hr /><hr /> |
|
715 <a NAME="Scope" ID="Scope"></a> |
|
716 <h2>Scope</h2> |
|
717 <p> |
|
718 Class defining the scope base class. |
|
719 </p> |
|
720 <h3>Derived from</h3> |
|
721 dict |
|
722 <h3>Class Attributes</h3> |
|
723 <table> |
|
724 <tr><td>importStarred</td></tr> |
|
725 </table> |
|
726 <h3>Methods</h3> |
|
727 <table> |
|
728 <tr> |
|
729 <td><a href="#Scope.__init__">Scope</a></td> |
|
730 <td></td> |
|
731 </tr><tr> |
|
732 <td><a href="#Scope.__repr__">__repr__</a></td> |
|
733 <td></td> |
|
734 </tr> |
|
735 </table> |
|
736 <a NAME="Scope.__init__" ID="Scope.__init__"></a> |
|
737 <h4>Scope (Constructor)</h4> |
|
738 <b>Scope</b>(<i></i>) |
|
739 <a NAME="Scope.__repr__" ID="Scope.__repr__"></a> |
|
740 <h4>Scope.__repr__</h4> |
|
741 <b>__repr__</b>(<i></i>) |
|
742 |
|
743 <div align="right"><a href="#top">Up</a></div> |
|
744 <hr /><hr /> |
|
745 <a NAME="UnBinding" ID="UnBinding"></a> |
|
746 <h2>UnBinding</h2> |
|
747 <p> |
|
748 Created by the 'del' operator. |
|
749 </p> |
|
750 <h3>Derived from</h3> |
|
751 Binding |
|
752 <h3>Class Attributes</h3> |
|
753 <table> |
|
754 <tr><td>None</td></tr> |
|
755 </table> |
|
756 <h3>Methods</h3> |
|
757 <table> |
|
758 <tr><td>None</td></tr> |
|
759 </table> |
|
760 |
|
761 <div align="right"><a href="#top">Up</a></div> |
|
762 <hr /> |
|
763 </body></html> |