public static IRubyObject INTERPRET_METHOD(ThreadContext context, InterpretedIRMethod irMethod, IRubyObject self, String name, IRubyObject[] args, Block block, Block.Type blockType, boolean isTraceable) { Ruby runtime = context.runtime; IRScope scope = irMethod.getIRMethod(); RubyModule implClass = irMethod.getImplementationClass(); Visibility viz = irMethod.getVisibility(); boolean syntheticMethod = name == null || name.equals(""); try { if (!syntheticMethod) ThreadContext.pushBacktrace(context, name, scope.getFileName(), context.getLine()); if (isTraceable) methodPreTrace(runtime, context, name, implClass); return interpret(context, self, scope, viz, implClass, args, block, blockType); } finally { if (isTraceable) { try {methodPostTrace(runtime, context, name, implClass);} finally { if (!syntheticMethod) ThreadContext.popBacktrace(context);} } else { if (!syntheticMethod) ThreadContext.popBacktrace(context); } } }
public static IRubyObject INTERPRET_METHOD(ThreadContext context, InterpretedIRMethod irMethod, IRubyObject self, String name, IRubyObject[] args, Block block, Block.Type blockType, boolean isTraceable) { Ruby runtime = context.runtime; IRScope scope = irMethod.getIRMethod(); RubyModule implClass = irMethod.getImplementationClass(); Visibility viz = irMethod.getVisibility(); boolean syntheticMethod = name == null || name.equals(""); try { if (!syntheticMethod) ThreadContext.pushBacktrace(context, name, scope.getFileName(), context.getLine()); if (isTraceable) methodPreTrace(runtime, context, name, implClass); return interpret(context, self, scope, viz, implClass, args, block, blockType); } finally { if (isTraceable) { try {methodPostTrace(runtime, context, name, implClass);} finally { if (!syntheticMethod) ThreadContext.popBacktrace(context);} } else { if (!syntheticMethod) ThreadContext.popBacktrace(context); } } }
context.setCurrentVisibility(getVisibility()); return Interpreter.INTERPRET_METHOD(context, this, self, name, args, block, null, false); } finally {
context.setCurrentVisibility(getVisibility()); return Interpreter.INTERPRET_METHOD(context, this, self, name, args, block, null, false); } finally {