blob: d73e8a4aa93177b25c3094eb4d16167e5a44a434 [file] [log] [blame]
adminbae64d82013-08-01 10:50:15 -07001<?xml version="1.0" encoding="ascii"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6 <title>TestON.core.ast.NodeVisitor</title>
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
8 <script type="text/javascript" src="epydoc.js"></script>
9</head>
10
11<body bgcolor="white" text="black" link="blue" vlink="#204080"
12 alink="#204080">
13<!-- ==================== NAVIGATION BAR ==================== -->
14<table class="navbar" border="0" width="100%" cellpadding="0"
15 bgcolor="#a0c0ff" cellspacing="0">
16 <tr valign="middle">
17 <!-- Home link -->
18 <th>&nbsp;&nbsp;&nbsp;<a
19 href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
20
21 <!-- Tree link -->
22 <th>&nbsp;&nbsp;&nbsp;<a
23 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
24
25 <!-- Index link -->
26 <th>&nbsp;&nbsp;&nbsp;<a
27 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
28
29 <!-- Help link -->
30 <th>&nbsp;&nbsp;&nbsp;<a
31 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
32
Jon Halla1cdd892015-08-10 13:36:28 -070033 <!-- Project homepage -->
34 <th class="navbar" align="right" width="100%">
35 <table border="0" cellpadding="0" cellspacing="0">
36 <tr><th class="navbar" align="center"
37 >TestON</th>
38 </tr></table></th>
adminbae64d82013-08-01 10:50:15 -070039 </tr>
40</table>
41<table width="100%" cellpadding="0" cellspacing="0">
42 <tr valign="top">
43 <td width="100%">
44 <span class="breadcrumbs">
45 <a href="TestON-module.html">Package&nbsp;TestON</a> ::
46 <a href="TestON.core-module.html">Package&nbsp;core</a> ::
47 <a href="TestON.core.ast-module.html">Module&nbsp;ast</a> ::
48 Class&nbsp;NodeVisitor
49 </span>
50 </td>
51 <td>
52 <table cellpadding="0" cellspacing="0">
53 <!-- hide/show private -->
54 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
55 onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
56 <tr><td align="right"><span class="options"
57 >[<a href="frames.html" target="_top">frames</a
58 >]&nbsp;|&nbsp;<a href="TestON.core.ast.NodeVisitor-class.html"
59 target="_top">no&nbsp;frames</a>]</span></td></tr>
60 </table>
61 </td>
62 </tr>
63</table>
64<!-- ==================== CLASS DESCRIPTION ==================== -->
65<h1 class="epydoc">Class NodeVisitor</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.core.ast-pysrc.html#NodeVisitor">source&nbsp;code</a></span></p>
Jon Halla1cdd892015-08-10 13:36:28 -070066<center>
67<center> <map id="class_hierarchy_for_nodevisito" name="class_hierarchy_for_nodevisito">
68<area shape="rect" id="node1" href="TestON.core.ast.NodeTransformer-class.html" title="NodeTransformer" alt="" coords="5,62,128,87"/>
69<area shape="rect" id="node2" href="TestON.core.ast.NodeVisitor-class.html" title="NodeVisitor" alt="" coords="21,6,112,31"/>
70</map>
71 <img src="class_hierarchy_for_nodevisito.gif" alt='' usemap="#class_hierarchy_for_nodevisito" ismap="ismap" class="graph-without-title" />
72</center>
73</center>
adminbae64d82013-08-01 10:50:15 -070074<hr />
75<p>A node visitor base class that walks the abstract syntax tree and
76 calls a visitor function for every node found. This function may return
77 a value which is forwarded by the `visit` method.</p>
78 <p>This class is meant to be subclassed, with the subclass adding visitor
79 methods.</p>
80 <p>Per default the visitor functions for the nodes are ``'visit_'`` +
81 class name of the node. So a `TryFinally` node visit function would be
82 `visit_TryFinally`. This behavior can be changed by overriding the
83 `visit` method. If no visitor function exists for a node (return value
84 `None`) the `generic_visit` visitor is used instead.</p>
85 <p>Don't use the `NodeVisitor` if you want to apply changes to nodes
86 during traversing. For this a special visitor exists (`NodeTransformer`)
87 that allows modifications.</p>
88
89<!-- ==================== INSTANCE METHODS ==================== -->
90<a name="section-InstanceMethods"></a>
91<table class="summary" border="1" cellpadding="3"
92 cellspacing="0" width="100%" bgcolor="white">
93<tr bgcolor="#70b0f0" class="table-header">
94 <td colspan="2" class="table-header">
95 <table border="0" cellpadding="0" cellspacing="0" width="100%">
96 <tr valign="top">
97 <td align="left"><span class="table-header">Instance Methods</span></td>
98 <td align="right" valign="top"
99 ><span class="options">[<a href="#section-InstanceMethods"
100 class="privatelink" onclick="toggle_private();"
101 >hide private</a>]</span></td>
102 </tr>
103 </table>
104 </td>
105</tr>
106<tr>
107 <td width="15%" align="right" valign="top" class="summary">
108 <span class="summary-type">&nbsp;</span>
109 </td><td class="summary">
110 <table width="100%" cellpadding="0" cellspacing="0" border="0">
111 <tr>
112 <td><span class="summary-sig"><a name="visit"></a><span class="summary-sig-name">visit</span>(<span class="summary-sig-arg">self</span>,
113 <span class="summary-sig-arg">node</span>)</span><br />
114 Visit a node.</td>
115 <td align="right" valign="top">
116 <span class="codelink"><a href="TestON.core.ast-pysrc.html#NodeVisitor.visit">source&nbsp;code</a></span>
117
118 </td>
119 </tr>
120 </table>
121
122 </td>
123 </tr>
124<tr>
125 <td width="15%" align="right" valign="top" class="summary">
126 <span class="summary-type">&nbsp;</span>
127 </td><td class="summary">
128 <table width="100%" cellpadding="0" cellspacing="0" border="0">
129 <tr>
130 <td><span class="summary-sig"><a name="generic_visit"></a><span class="summary-sig-name">generic_visit</span>(<span class="summary-sig-arg">self</span>,
131 <span class="summary-sig-arg">node</span>)</span><br />
132 Called if no explicit visitor function exists for a node.</td>
133 <td align="right" valign="top">
134 <span class="codelink"><a href="TestON.core.ast-pysrc.html#NodeVisitor.generic_visit">source&nbsp;code</a></span>
135
136 </td>
137 </tr>
138 </table>
139
140 </td>
141 </tr>
142 <tr>
143 <td colspan="2" class="summary">
144 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
145 <code>__delattr__</code>,
146 <code>__format__</code>,
147 <code>__getattribute__</code>,
148 <code>__hash__</code>,
149 <code>__init__</code>,
150 <code>__new__</code>,
151 <code>__reduce__</code>,
152 <code>__reduce_ex__</code>,
153 <code>__repr__</code>,
154 <code>__setattr__</code>,
155 <code>__sizeof__</code>,
156 <code>__str__</code>,
157 <code>__subclasshook__</code>
158 </p>
159 </td>
160 </tr>
161</table>
162<!-- ==================== PROPERTIES ==================== -->
163<a name="section-Properties"></a>
164<table class="summary" border="1" cellpadding="3"
165 cellspacing="0" width="100%" bgcolor="white">
166<tr bgcolor="#70b0f0" class="table-header">
167 <td colspan="2" class="table-header">
168 <table border="0" cellpadding="0" cellspacing="0" width="100%">
169 <tr valign="top">
170 <td align="left"><span class="table-header">Properties</span></td>
171 <td align="right" valign="top"
172 ><span class="options">[<a href="#section-Properties"
173 class="privatelink" onclick="toggle_private();"
174 >hide private</a>]</span></td>
175 </tr>
176 </table>
177 </td>
178</tr>
179 <tr>
180 <td colspan="2" class="summary">
181 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
182 <code>__class__</code>
183 </p>
184 </td>
185 </tr>
186</table>
187<!-- ==================== NAVIGATION BAR ==================== -->
188<table class="navbar" border="0" width="100%" cellpadding="0"
189 bgcolor="#a0c0ff" cellspacing="0">
190 <tr valign="middle">
191 <!-- Home link -->
192 <th>&nbsp;&nbsp;&nbsp;<a
193 href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
194
195 <!-- Tree link -->
196 <th>&nbsp;&nbsp;&nbsp;<a
197 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
198
199 <!-- Index link -->
200 <th>&nbsp;&nbsp;&nbsp;<a
201 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
202
203 <!-- Help link -->
204 <th>&nbsp;&nbsp;&nbsp;<a
205 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
206
Jon Halla1cdd892015-08-10 13:36:28 -0700207 <!-- Project homepage -->
208 <th class="navbar" align="right" width="100%">
209 <table border="0" cellpadding="0" cellspacing="0">
210 <tr><th class="navbar" align="center"
211 >TestON</th>
212 </tr></table></th>
adminbae64d82013-08-01 10:50:15 -0700213 </tr>
214</table>
215<table border="0" cellpadding="0" cellspacing="0" width="100%%">
216 <tr>
217 <td align="left" class="footer">
Jon Halla1cdd892015-08-10 13:36:28 -0700218 Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
adminbae64d82013-08-01 10:50:15 -0700219 </td>
220 <td align="right" class="footer">
221 <a target="mainFrame" href="http://epydoc.sourceforge.net"
222 >http://epydoc.sourceforge.net</a>
223 </td>
224 </tr>
225</table>
226
227<script type="text/javascript">
228 <!--
229 // Private objects are initially displayed (because if
230 // javascript is turned off then we want them to be
231 // visible); but by default, we want to hide them. So hide
232 // them unless we have a cookie that says to show them.
233 checkCookie();
234 // -->
235</script>
236</body>
237</html>