def codegen(self, indent=0): str = self.string for field in self._fields: if isinstance(getattr(self,field),CtreeNode): str += getattr(self,field).codegen(indent) if 'body' in self._fields: visitor = CodeGenVisitor(indent = indent) str += visitor._genblock(self.body) return str
def reload(self): """rebuild list of all in memory subclasses of ast.NodeTransformer""" self.transformer_items = map( lambda transformer: AstTransformerItem(transformer), ast.NodeTransformer.__subclasses__()) self.transformer_items += map( lambda transformer: AstTransformerItem(transformer), CodeGenVisitor.__subclasses__()) for transformer_item in self.transformer_items: print("loaded %s" % transformer_item.name()) self.transformers_by_name[ transformer_item.name()] = transformer_item
def reload(self): """rebuild list of all in memory subclasses of ast.NodeTransformer""" self.transformer_items = map( lambda transformer: AstTransformerItem(transformer), ast.NodeTransformer.__subclasses__() ) self.transformer_items += map( lambda transformer: AstTransformerItem(transformer), CodeGenVisitor.__subclasses__() ) for transformer_item in self.transformer_items: print("loaded %s" % transformer_item.name()) self.transformers_by_name[transformer_item.name()] = transformer_item