public class RuntimeData extends Object
Modifier and Type | Field and Description |
---|---|
protected ExecutionDataStore |
store
store for execution data
|
Constructor and Description |
---|
RuntimeData()
Creates a new runtime.
|
Modifier and Type | Method and Description |
---|---|
void |
collect(IExecutionDataVisitor executionDataVisitor,
ISessionInfoVisitor sessionInfoVisitor,
boolean reset)
Collects the current execution data and writes it to the given
IExecutionDataVisitor object. |
boolean |
equals(Object args)
In violation of the regular semantic of
Object.equals(Object)
this implementation is used as the interface to the execution data store. |
static void |
generateAccessCall(long classid,
String classname,
int probecount,
org.objectweb.asm.MethodVisitor mv)
Generates the code that calls a
RuntimeData instance through the
JRE API method Object.equals(Object) . |
static void |
generateArgumentArray(long classid,
String classname,
int probecount,
org.objectweb.asm.MethodVisitor mv)
Generates code that creates the argument array for the
getProbes(Object[]) method. |
ExecutionData |
getExecutionData(Long id,
String name,
int probecount)
Returns the coverage data for the class with the given identifier.
|
void |
getProbes(Object[] args)
Retrieves the execution probe array for a given class.
|
String |
getSessionId()
Get the current a session identifier for this runtime.
|
void |
reset()
Resets all coverage information.
|
void |
setSessionId(String id)
Sets a session identifier for this runtime.
|
protected final ExecutionDataStore store
public void setSessionId(String id)
id
- new session identifiercollect(IExecutionDataVisitor, ISessionInfoVisitor, boolean)
public String getSessionId()
setSessionId(String)
public final void collect(IExecutionDataVisitor executionDataVisitor, ISessionInfoVisitor sessionInfoVisitor, boolean reset)
IExecutionDataVisitor
object.executionDataVisitor
- handler to write coverage data tosessionInfoVisitor
- handler to write session information toreset
- if true
the current coverage information is also
clearedpublic final void reset()
public ExecutionData getExecutionData(Long id, String name, int probecount)
id
- class identifiername
- VM name of the classprobecount
- probe data lengthpublic void getProbes(Object[] args)
Object
array instance is used for parameters and the return value
as follows. Call parameters:
Return value:
boolean[]
)
args
- parameter array of length 3public boolean equals(Object args)
Object.equals(Object)
this implementation is used as the interface to the execution data store.public static void generateArgumentArray(long classid, String classname, int probecount, org.objectweb.asm.MethodVisitor mv)
getProbes(Object[])
method. The array instance is left on the
operand stack. The generated code requires a stack size of 5.classid
- class identifierclassname
- VM class nameprobecount
- probe count for this classmv
- visitor to emit generated codepublic static void generateAccessCall(long classid, String classname, int probecount, org.objectweb.asm.MethodVisitor mv)
RuntimeData
instance through the
JRE API method Object.equals(Object)
. The code pops a
Object
instance from the stack and pushes the probe array of type
boolean[]
on the operand stack. The generated code requires
a stack size of 6.classid
- class identifierclassname
- VM class nameprobecount
- probe count for this classmv
- visitor to emit generated codeCopyright © 2023. All rights reserved.