TraceInstr.java
- package org.jruby.ir.instructions;
- import org.jruby.ir.Operation;
- import org.jruby.ir.operands.Operand;
- import org.jruby.ir.transformations.inlining.CloneInfo;
- import org.jruby.runtime.RubyEvent;
- // FIXME: When presistence is revisited this should strip these out of code streams on save and add them in if
- // tracing is on for load.
- /**
- * Instrumented trace.
- */
- public class TraceInstr extends Instr {
- private final RubyEvent event;
- private final String name;
- private final String filename;
- private final int linenumber;
- public TraceInstr(RubyEvent event, String name, String filename, int linenumber) {
- super(Operation.TRACE);
- this.event = event;
- this.name = name;
- this.filename = filename;
- this.linenumber = linenumber;
- }
- @Override
- public Instr clone(CloneInfo ii) {
- return new TraceInstr(event, name, filename, linenumber);
- }
- public RubyEvent getEvent() {
- return event;
- }
- public String getName() {
- return name;
- }
- public String getFilename() {
- return filename;
- }
- public int getLinenumber() {
- return linenumber;
- }
- @Override
- public Operand[] getOperands() {
- return new Operand[] { };
- }
- public String toString() {
- return super.toString() + " " + event + ", " + name + ", " + filename + ", " + linenumber;
- }
- }