public static IRubyObject INTERPRET_BLOCK( Ruby runtime, ThreadContext context, String file, int line, Node node, String name, IRubyObject self, Block block) { try { ThreadContext.pushBacktrace(context, name, file, line); blockPreTrace(runtime, context, name, self.getType()); return node.interpret(runtime, context, self, block); } finally { blockPostTrace(runtime, context, name, self.getType()); ThreadContext.popBacktrace(context); } }