Esempio n. 1
0
    def _build_tree(self):
        if self._tree is None:
            context = None

            def fake_module(node):
                scope = ModuleScope('test', None, None)
                return ModuleNode(node.pos,
                                  doc=None,
                                  body=node,
                                  scope=scope,
                                  full_module_name='test',
                                  directive_comments={})

            pipeline = [
                fake_module,
                NormalizeTree(context),
                InterpretCompilerDirectives(context, {}),
                AnalyseDeclarationsTransform(context),
                AnalyseExpressionsTransform(context),
            ]
            self._tree = self.run_pipeline(
                pipeline, u"""
                cdef bytes s = b'asdfg'
                cdef dict d = {1:2}
                x = s * 3
                d.get('test')
            """)
        return self._tree
Esempio n. 2
0
 def setUp(self):
     super(TestTypeInjection, self).setUp()
     compilation_options = Main.CompilationOptions(Main.default_options)
     ctx = compilation_options.create_context()
     transform = InterpretCompilerDirectives(ctx, ctx.compiler_directives)
     transform.module_scope = Symtab.ModuleScope('__main__', None, ctx)
     self.declarations_finder = DeclarationsFinder()
     self.pipeline = [NormalizeTree(None), transform, self.declarations_finder]