public void event(ThreadContext context, RubyEvent event, String file, int line, String name, IRubyObject type){ eventHandler(context, event.getName(), file, line + event.getLineNumberOffset(), name, type); }
@Override public void eventHandler(ThreadContext context, String eventName, String file, int line, String name, IRubyObject type) { event(context, RubyEvent.fromName(eventName), file, line, name, type); }
@Override public RubyEvent decodeRubyEvent() { return RubyEvent.fromOrdinal(decodeInt()); }
RubyEvent event = null; try { event = RubyEvent.valueOf(eventName); } catch (IllegalArgumentException iae) {}
@Override public synchronized void event(ThreadContext context, RubyEvent event, String file, int line, String name, IRubyObject type) { if (!enabled || context.isWithinTrace()) return; inside = true; if (file == null) file = "(ruby)"; if (type == null) type = context.fals; IRubyObject binding; if (event == RubyEvent.THREAD_BEGIN || event == RubyEvent.THREAD_END) { binding = context.nil; } else { binding = RubyBinding.newBinding(context.runtime, context.currentBinding()); } context.preTrace(); // FIXME: get return value update( event.getName(), file, line, name, type, context.getErrorInfo(), context.nil, binding); try { block.yieldSpecific(context, TracePoint.this); } finally { update(null, null, line, null, context.nil, context.nil, context.nil, context.nil); context.postTrace(); inside = false; } }
@Override public void encode(RubyEvent event) { encode((byte) event.ordinal()); }
@Override public void TraceInstr(TraceInstr traceInstr) { jvmMethod().loadContext(); jvmAdapter().getstatic(p(RubyEvent.class), traceInstr.getEvent().name(), ci(RubyEvent.class)); String name = traceInstr.getName(); if (name == null) { jvmAdapter().aconst_null(); } else { jvmAdapter().ldc(name); } jvmAdapter().ldc(traceInstr.getFilename()); jvmAdapter().ldc(traceInstr.getLinenumber()); jvmMethod().invokeIRHelper("callTrace", sig(void.class, ThreadContext.class, RubyEvent.class, String.class, String.class, int.class)); }
RubyEvent event = null; try { event = RubyEvent.valueOf(eventName); } catch (IllegalArgumentException iae) {}
@Override public synchronized void event(ThreadContext context, RubyEvent event, String file, int line, String name, IRubyObject type) { if (!enabled || context.isWithinTrace()) return; inside = true; if (file == null) file = "(ruby)"; if (type == null) type = context.fals; IRubyObject binding; if (event == RubyEvent.THREAD_BEGIN || event == RubyEvent.THREAD_END) { binding = context.nil; } else { binding = RubyBinding.newBinding(context.runtime, context.currentBinding()); } context.preTrace(); // FIXME: get return value update( event.getName(), file, line, name, type, context.getErrorInfo(), context.nil, binding); try { block.yieldSpecific(context, TracePoint.this); } finally { update(null, null, line, null, context.nil, context.nil, context.nil, context.nil); context.postTrace(); inside = false; } }
@Override public void encode(RubyEvent event) { encode((byte) event.ordinal()); }
@Override public void TraceInstr(TraceInstr traceInstr) { jvmMethod().loadContext(); jvmAdapter().getstatic(p(RubyEvent.class), traceInstr.getEvent().name(), ci(RubyEvent.class)); String name = traceInstr.getName(); if (name == null) { jvmAdapter().aconst_null(); } else { jvmAdapter().ldc(name); } jvmAdapter().ldc(traceInstr.getFilename()); jvmAdapter().ldc(traceInstr.getLinenumber()); jvmMethod().invokeIRHelper("callTrace", sig(void.class, ThreadContext.class, RubyEvent.class, String.class, String.class, int.class)); }
public void event(ThreadContext context, RubyEvent event, String file, int line, String name, IRubyObject type){ eventHandler(context, event.getName(), file, line + event.getLineNumberOffset(), name, type); }
if (_event instanceof RubySymbol || _event instanceof RubyString) { String eventName = _event.asJavaString(); RubyEvent event = RubyEvent.valueOf(eventName);
@Override public RubyEvent decodeRubyEvent() { return RubyEvent.fromOrdinal(decodeInt()); }
@Override public void eventHandler(ThreadContext context, String eventName, String file, int line, String name, IRubyObject type) { event(context, RubyEvent.fromName(eventName), file, line, name, type); }
public void event(ThreadContext context, RubyEvent event, String file, int line, String name, IRubyObject type){ eventHandler(context, event.getName(), file, line + event.getLineNumberOffset(), name, type); }
if (_event instanceof RubySymbol || _event instanceof RubyString) { String eventName = _event.asJavaString(); RubyEvent event = RubyEvent.valueOf(eventName);
public void event(ThreadContext context, RubyEvent event, String file, int line, String name, IRubyObject type){ eventHandler(context, event.getName(), file, line + event.getLineNumberOffset(), name, type); }