edu.mit.ai.psg.traveler.jevaHooks
Class TraceConstructsEvalHook
java.lang.Object
|
+--edu.mit.ai.psg.jeva.JevaVisitorBase
|
+--edu.mit.ai.psg.traveler.jevaHooks.TraceConstructsEvalHook
- public class TraceConstructsEvalHook
- extends JevaVisitorBase
A Jeva EvalHook which calls Trace methods to record method call and
instance creation expressions, and records activities which use
interpreted synchronized methods and blocks in the biography for
the synchronizing object.
- See Also:
EvalMethods,
Trace
|
Method Summary |
static Method |
findInvokedCompiledMethod(Object target,
IMethod iMethodSignature)
returns null if interpreted method is invoked, else returns
compiled method that is invoked for target (may override compile time
signature) |
static void |
main(String[] arguments)
Given a class name for a class in classpath,
runs its public static void main(...) method with a TraceCallsEvalHook. |
Object |
visit(IJevaNode node,
Object data)
default -- do nothing |
Object |
visit(JNDConstructorDeclaration node,
Object data)
Trace calls received by interpreted constructors. |
Object |
visit(JNDMethodDeclaration node,
Object data)
Trace calls received by interpreted methods. |
Object |
visit(JNEInstanceCreationExpression node,
Object data)
Trace calls to compiled constructors. |
Object |
visit(JNEMethodInvocationExpression node,
Object data)
Trace calls to compiled methods,
(Calls to interpreted methods are traced by
visit(JNDMethodDeclaration,Object)). |
Object |
visit(JNSSynchronizedStatement node,
Object data)
Trace entry and exit from synchronized blocks. |
| Methods inherited from class edu.mit.ai.psg.jeva.JevaVisitorBase |
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit,
visit |
| Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
invokedMethodCache
public static Map invokedMethodCache
- map class -> (map methodSignature -> method)
TraceConstructsEvalHook
public TraceConstructsEvalHook()
visit
public Object visit(IJevaNode node,
Object data)
- default -- do nothing
- Overrides:
- visit in class JevaVisitorBase
visit
public Object visit(JNEMethodInvocationExpression node,
Object data)
Trace calls to compiled methods,
(Calls to interpreted methods are traced by
visit(JNDMethodDeclaration,Object)).
- Overrides:
- visit in class JevaVisitorBase
visit
public Object visit(JNDMethodDeclaration node,
Object data)
Trace calls received by interpreted methods.
(Calls invoking compiled methods are traced by
visit(JNEMethodInvocationExpression,Object)
- Overrides:
- visit in class JevaVisitorBase
visit
public Object visit(JNEInstanceCreationExpression node,
Object data)
Trace calls to compiled constructors.
(calls received by interpreted constructors are recorded by
visit(JNDConstructorDeclaration,Object).
- Overrides:
- visit in class JevaVisitorBase
visit
public Object visit(JNDConstructorDeclaration node,
Object data)
Trace calls received by interpreted constructors.
(Calls invoking compiled methods are traced by
visit(JNEInstanceCreationExpression,Object)
- Overrides:
- visit in class JevaVisitorBase
visit
public Object visit(JNSSynchronizedStatement node,
Object data)
Trace entry and exit from synchronized blocks.
- Overrides:
- visit in class JevaVisitorBase
findInvokedCompiledMethod
public static Method findInvokedCompiledMethod(Object target,
IMethod iMethodSignature)
- returns null if interpreted method is invoked, else returns
compiled method that is invoked for target (may override compile time
signature)
main
public static void main(String[] arguments)
throws FileNotFoundException
- Given a class name for a class in classpath,
runs its public static void main(...) method with a TraceCallsEvalHook.
Jeva will run compiled .class file if it exists, so delete it first.
- See Also:
EvalMethods