def compile_ast(self, node, filename, mode, flags): if mode == 'eval': check = isinstance(node, ast.Expression) elif mode == 'exec': check = isinstance(node, ast.Module) elif mode == 'input': check = isinstance(node, ast.Interactive) else: check = True if not check: raise OperationError(self.space.w_TypeError, self.space.wrap( "invalid node type")) future_pos = misc.parse_future(node) info = pyparse.CompileInfo(filename, mode, flags, future_pos) return self._compile_ast(node, info)
def compile_ast(self, node, filename, mode, flags): if mode == 'eval': check = isinstance(node, ast.Expression) elif mode == 'exec': check = isinstance(node, ast.Module) elif mode == 'input': check = isinstance(node, ast.Interactive) else: check = True if not check: raise oefmt(self.space.w_TypeError, "invalid node type") fut = misc.parse_future(node, self.future_flags.compiler_features) f_flags, f_lineno, f_col = fut future_pos = f_lineno, f_col flags |= f_flags info = pyparse.CompileInfo(filename, mode, flags, future_pos) return self._compile_ast(node, info)
def compile_ast(self, node, filename, mode, flags): from pypy.interpreter.pyparser.pyparse import CompileInfo from pypy.interpreter.astcompiler.misc import parse_future info = CompileInfo(filename, mode, flags, parse_future(node)) return self._compile_ast(node, info)