Exemple #1
0
    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