org.softevo.ample.sibrelib.extensions
Class SequenceTracer
java.lang.Object
org.softevo.sibrelib.extensions.TraceInstrumentationExtension
org.softevo.ample.sibrelib.extensions.SequenceTracer
- Direct Known Subclasses:
- IncomingCallTracer, OutgoingCallTracer
public class SequenceTracer
- extends org.softevo.sibrelib.extensions.TraceInstrumentationExtension
- Author:
- dallmeier
TODO To change the template for this generated type comment go to
Window - Preferences - Java - Code Style - Code Templates
Fields inherited from class org.softevo.sibrelib.extensions.TraceInstrumentationExtension |
context |
Constructor Summary |
SequenceTracer(org.softevo.sibrelib.InstrumentationContext context)
|
Method Summary |
protected void |
addFinalizer(org.apache.bcel.generic.ClassGen classGenerator,
org.apache.bcel.classfile.JavaClass javaClass,
org.apache.bcel.generic.ConstantPoolGen constantPoolGenerator,
org.apache.bcel.generic.InstructionFactory factory,
java.lang.String runtimeClassName)
|
boolean |
allowTraceInstrumentation(org.apache.bcel.generic.MethodGen methodGenerator)
Checks if neither thread nor instance tracer forbid
instrumentation. |
org.apache.bcel.generic.InstructionList |
createMethodStartCode(org.apache.bcel.classfile.JavaClass javaClass,
org.apache.bcel.generic.ConstantPoolGen constantPoolGenerator,
org.apache.bcel.generic.MethodGen methodGenerator,
org.apache.bcel.generic.InstructionFactory factory,
java.util.HashMap identifierMap,
java.lang.String runtimeClassName)
|
protected org.apache.bcel.generic.MethodGen |
getFinalizer(org.apache.bcel.classfile.JavaClass javaClass,
org.apache.bcel.generic.ClassGen classGenerator,
org.apache.bcel.generic.ConstantPoolGen constantPoolGenerator,
org.apache.bcel.generic.InstructionFactory factory,
java.lang.String runtimeClassName)
|
void |
preProcessJavaClass(org.apache.bcel.classfile.JavaClass javaClass,
org.apache.bcel.generic.ClassGen classGenerator,
org.apache.bcel.generic.ConstantPoolGen constantPoolGenerator,
org.apache.bcel.generic.InstructionFactory factory)
Processes a java class and adds special methods and
fields needed for the instrumentation extension. |
Methods inherited from class org.softevo.sibrelib.extensions.TraceInstrumentationExtension |
createMethodStartCode, finishInstrumentation, postProcessJavaClass, verifyInstrumentation |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
instanceTracer
protected InstanceTracer instanceTracer
- The instance tracer.
threadTracer
protected ThreadTracer threadTracer
- The thread tracer.
runtimeClassName
protected java.lang.String runtimeClassName
- The name of the runtime class.
SequenceTracer
public SequenceTracer(org.softevo.sibrelib.InstrumentationContext context)
allowTraceInstrumentation
public boolean allowTraceInstrumentation(org.apache.bcel.generic.MethodGen methodGenerator)
- Checks if neither thread nor instance tracer forbid
instrumentation.
- Overrides:
allowTraceInstrumentation
in class org.softevo.sibrelib.extensions.TraceInstrumentationExtension
preProcessJavaClass
public void preProcessJavaClass(org.apache.bcel.classfile.JavaClass javaClass,
org.apache.bcel.generic.ClassGen classGenerator,
org.apache.bcel.generic.ConstantPoolGen constantPoolGenerator,
org.apache.bcel.generic.InstructionFactory factory)
- Processes a java class and adds special methods and
fields needed for the instrumentation extension.
The default implementation does not change anything.
Since extensions may have processed the class before,
all changes concerning methods and fields must be applied
to the classGenerator
variable passed (and not
to the java class.
This method is called before trace code is inserted
into methods.
- Overrides:
preProcessJavaClass
in class org.softevo.sibrelib.extensions.TraceInstrumentationExtension
- Parameters:
javaClass
- the class to processclassGenerator
- the generator for the new classconstantPoolGenerator
- the generator for the new constant poolfactory
- the factory for instructions
createMethodStartCode
public org.apache.bcel.generic.InstructionList createMethodStartCode(org.apache.bcel.classfile.JavaClass javaClass,
org.apache.bcel.generic.ConstantPoolGen constantPoolGenerator,
org.apache.bcel.generic.MethodGen methodGenerator,
org.apache.bcel.generic.InstructionFactory factory,
java.util.HashMap identifierMap,
java.lang.String runtimeClassName)
throws org.softevo.sibrelib.InstrumentationException
- Throws:
org.softevo.sibrelib.InstrumentationException
getFinalizer
protected org.apache.bcel.generic.MethodGen getFinalizer(org.apache.bcel.classfile.JavaClass javaClass,
org.apache.bcel.generic.ClassGen classGenerator,
org.apache.bcel.generic.ConstantPoolGen constantPoolGenerator,
org.apache.bcel.generic.InstructionFactory factory,
java.lang.String runtimeClassName)
addFinalizer
protected void addFinalizer(org.apache.bcel.generic.ClassGen classGenerator,
org.apache.bcel.classfile.JavaClass javaClass,
org.apache.bcel.generic.ConstantPoolGen constantPoolGenerator,
org.apache.bcel.generic.InstructionFactory factory,
java.lang.String runtimeClassName)