Lines Matching full:node

58 def to_source(node, indent_with=' ' * 4, add_line_information=False):  argument
59 """This function can convert a node tree back into python sourcecode.
77 generator.visit(node)
102 def newline(self, node=None, extra=0): argument
104 if node is not None and self.add_line_information:
105 self.write('# line: %s' % node.lineno)
115 def body_or_else(self, node): argument
116 self.body(node.body)
117 if node.orelse:
120 self.body(node.orelse)
122 def signature(self, node): argument
130 padding = [None] * (len(node.args) - len(node.defaults))
131 for arg, default in zip(node.args, padding + node.defaults):
137 if node.vararg is not None:
139 self.write('*' + node.vararg)
140 if node.kwarg is not None:
142 self.write('**' + node.kwarg)
144 def decorators(self, node): argument
145 for decorator in node.decorator_list:
152 def visit_Assign(self, node): argument
153 self.newline(node)
154 for idx, target in enumerate(node.targets):
159 self.visit(node.value)
161 def visit_AugAssign(self, node): argument
162 self.newline(node)
163 self.visit(node.target)
164 self.write(BINOP_SYMBOLS[type(node.op)] + '=')
165 self.visit(node.value)
167 def visit_ImportFrom(self, node): argument
168 self.newline(node)
169 self.write('from %s%s import ' % ('.' * node.level, node.module))
170 for idx, item in enumerate(node.names):
175 def visit_Import(self, node): argument
176 self.newline(node)
177 for item in node.names:
181 def visit_Expr(self, node): argument
182 self.newline(node)
183 self.generic_visit(node)
185 def visit_FunctionDef(self, node): argument
187 self.decorators(node)
188 self.newline(node)
189 self.write('def %s(' % node.name)
190 self.signature(node.args)
192 self.body(node.body)
194 def visit_ClassDef(self, node): argument
204 self.decorators(node)
205 self.newline(node)
206 self.write('class %s' % node.name)
207 for base in node.bases:
212 if hasattr(node, 'keywords'):
213 for keyword in node.keywords:
217 if hasattr(node, 'starargs') and node.starargs is not None:
220 self.visit(node.starargs)
221 if hasattr(node, 'kwargs') and node.kwargs is not None:
224 self.visit(node.kwargs)
226 self.body(node.body)
228 def visit_If(self, node): argument
229 self.newline(node)
231 self.visit(node.test)
233 self.body(node.body)
235 else_ = node.orelse
237 node = else_[0]
240 self.visit(node.test)
242 self.body(node.body)
249 def visit_For(self, node): argument
250 self.newline(node)
252 self.visit(node.target)
254 self.visit(node.iter)
256 self.body_or_else(node)
258 def visit_While(self, node): argument
259 self.newline(node)
261 self.visit(node.test)
263 self.body_or_else(node)
265 def visit_With(self, node): argument
266 self.newline(node)
268 self.visit(node.context_expr)
269 if node.optional_vars is not None:
271 self.visit(node.optional_vars)
273 self.body(node.body)
275 def visit_Pass(self, node): argument
276 self.newline(node)
279 def visit_Print(self, node): argument
281 self.newline(node)
284 if node.dest is not None:
286 self.visit(node.dest)
288 for value in node.values:
293 if not node.nl:
296 def visit_Delete(self, node): argument
297 self.newline(node)
299 for idx, target in enumerate(node):
304 def visit_TryExcept(self, node): argument
305 self.newline(node)
307 self.body(node.body)
308 for handler in node.handlers:
311 def visit_TryFinally(self, node): argument
312 self.newline(node)
314 self.body(node.body)
315 self.newline(node)
317 self.body(node.finalbody)
319 def visit_Global(self, node): argument
320 self.newline(node)
321 self.write('global ' + ', '.join(node.names))
323 def visit_Nonlocal(self, node): argument
324 self.newline(node)
325 self.write('nonlocal ' + ', '.join(node.names))
327 def visit_Return(self, node): argument
328 self.newline(node)
330 self.visit(node.value)
332 def visit_Break(self, node): argument
333 self.newline(node)
336 def visit_Continue(self, node): argument
337 self.newline(node)
340 def visit_Raise(self, node): argument
342 self.newline(node)
344 if hasattr(node, 'exc') and node.exc is not None:
346 self.visit(node.exc)
347 if node.cause is not None:
349 self.visit(node.cause)
350 elif hasattr(node, 'type') and node.type is not None:
351 self.visit(node.type)
352 if node.inst is not None:
354 self.visit(node.inst)
355 if node.tback is not None:
357 self.visit(node.tback)
361 def visit_Attribute(self, node): argument
362 self.visit(node.value)
363 self.write('.' + node.attr)
365 def visit_Call(self, node): argument
373 self.visit(node.func)
375 for arg in node.args:
378 for keyword in node.keywords:
382 if hasattr(node, 'starargs') and node.starargs is not None:
385 self.visit(node.starargs)
386 if hasattr(node, 'kwargs') and node.kwargs is not None:
389 self.visit(node.kwargs)
392 def visit_Name(self, node): argument
393 self.write(node.id)
395 def visit_Str(self, node): argument
396 self.write(repr(node.s))
398 def visit_Bytes(self, node): argument
399 self.write(repr(node.s))
401 def visit_Num(self, node): argument
402 self.write(repr(node.n))
404 def visit_Constant(self, node): argument
408 self.write(repr(node.value))
410 def visit_Tuple(self, node): argument
413 for idx, item in enumerate(node.elts):
420 def visit(self, node): argument
422 for idx, item in enumerate(node.elts):
433 def visit_Dict(self, node): argument
435 for idx, (key, value) in enumerate(zip(node.keys, node.values)):
443 def visit_BinOp(self, node): argument
444 self.visit(node.left)
445 self.write(' %s ' % BINOP_SYMBOLS[type(node.op)])
446 self.visit(node.right)
448 def visit_BoolOp(self, node): argument
450 for idx, value in enumerate(node.values):
452 self.write(' %s ' % BOOLOP_SYMBOLS[type(node.op)])
456 def visit_Compare(self, node): argument
458 self.write(node.left)
459 for op, right in zip(node.ops, node.comparators):
464 def visit_UnaryOp(self, node): argument
466 op = UNARYOP_SYMBOLS[type(node.op)]
470 self.visit(node.operand)
473 def visit_Subscript(self, node): argument
474 self.visit(node.value)
476 self.visit(node.slice)
479 def visit_Slice(self, node): argument
480 if node.lower is not None:
481 self.visit(node.lower)
483 if node.upper is not None:
484 self.visit(node.upper)
485 if node.step is not None:
487 if not (isinstance(node.step, Name) and node.step.id == 'None'):
488 self.visit(node.step)
490 def visit_ExtSlice(self, node): argument
491 for idx, item in node.dims:
496 def visit_Yield(self, node): argument
498 self.visit(node.value)
500 def visit_Lambda(self, node): argument
502 self.signature(node.args)
504 self.visit(node.body)
506 def visit_Ellipsis(self, node): argument
510 def visit(self, node): argument
512 self.visit(node.elt)
513 for comprehension in node.generators:
523 def visit_DictComp(self, node): argument
525 self.visit(node.key)
527 self.visit(node.value)
528 for comprehension in node.generators:
532 def visit_IfExp(self, node): argument
533 self.visit(node.body)
535 self.visit(node.test)
537 self.visit(node.orelse)
539 def visit_Starred(self, node): argument
541 self.visit(node.value)
543 def visit_Repr(self, node): argument
546 self.visit(node.value)
551 def visit_alias(self, node): argument
552 self.write(node.name)
553 if node.asname is not None:
554 self.write(' as ' + node.asname)
556 def visit_comprehension(self, node): argument
558 self.visit(node.target)
560 self.visit(node.iter)
561 if node.ifs:
562 for if_ in node.ifs:
566 def visit_excepthandler(self, node): argument
567 self.newline(node)
569 if node.type is not None:
571 self.visit(node.type)
572 if node.name is not None:
574 self.visit(node.name)
576 self.body(node.body)