public static IRubyObject INTERPRET_METHOD( Ruby runtime, ThreadContext context, String file, int line, RubyModule implClass, Node node, String name, IRubyObject self, Block block, boolean isTraceable) { try { ThreadContext.pushBacktrace(context, name, file, line); if (isTraceable) methodPreTrace(runtime, context, name, implClass); return node.interpret(runtime, context, self, block); } finally { if (isTraceable) { try { methodPostTrace(runtime, context, name, implClass); } finally { ThreadContext.popBacktrace(context); } } else { ThreadContext.popBacktrace(context); } } }