Ejemplo n.º 1
0
	def call(self, args, context):
		self.ensure_args_gt(args, 2)
		self.ensure_arg_type(args, 0, ast.slist)
		new_context = eval.context(parent=context, meval_context=context.meval_context)
		for pair in args[0].lst:
			self.ensure_type(pair, ast.slist)
			name = pair.lst[0]
			self.ensure_type(name, ast.name)
			code = ast.statement_list(pair.lst[1:])
			new_context.set(name.name, code.eval(context))
		return ast.statement_list(args[1:]).eval(new_context)
Ejemplo n.º 2
0
	def call(self, args):
		new_context = eval.context(parent=self.context, meval_context=self.context.meval_context)
		set_params(self.params, args, new_context)
		return self.code.eval(new_context)