Package org.openjdk.jmc.agent.jfr.impl
Class JFRClassVisitor
- java.lang.Object
-
- org.objectweb.asm.ClassVisitor
-
- org.openjdk.jmc.agent.jfr.impl.JFRClassVisitor
-
public class JFRClassVisitor extends org.objectweb.asm.ClassVisitor
This class visits a class to be instrumented, discovers methods to be visited and visits them. It will also kick off the generation of the event class and register the created event class.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.ClassLoader
definingClassLoader
private java.lang.Class<?>
inspectionClass
private java.security.ProtectionDomain
protectionDomain
private JFRTransformDescriptor
transformDescriptor
-
Constructor Summary
Constructors Constructor Description JFRClassVisitor(org.objectweb.asm.ClassWriter cv, JFRTransformDescriptor descriptor, java.lang.ClassLoader definingLoader, java.lang.Class<?> classBeingRedefined, java.security.ProtectionDomain protectionDomain)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.Class<?>
generateEventClass()
private void
reflectiveRegister(java.lang.Class<?> generateEventClass)
void
visitEnd()
org.objectweb.asm.MethodVisitor
visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
-
-
-
Field Detail
-
transformDescriptor
private final JFRTransformDescriptor transformDescriptor
-
definingClassLoader
private final java.lang.ClassLoader definingClassLoader
-
inspectionClass
private final java.lang.Class<?> inspectionClass
-
protectionDomain
private final java.security.ProtectionDomain protectionDomain
-
-
Constructor Detail
-
JFRClassVisitor
public JFRClassVisitor(org.objectweb.asm.ClassWriter cv, JFRTransformDescriptor descriptor, java.lang.ClassLoader definingLoader, java.lang.Class<?> classBeingRedefined, java.security.ProtectionDomain protectionDomain)
-
-
Method Detail
-
visitMethod
public org.objectweb.asm.MethodVisitor visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
- Overrides:
visitMethod
in classorg.objectweb.asm.ClassVisitor
-
visitEnd
public void visitEnd()
- Overrides:
visitEnd
in classorg.objectweb.asm.ClassVisitor
-
reflectiveRegister
private void reflectiveRegister(java.lang.Class<?> generateEventClass) throws java.lang.Exception
- Throws:
java.lang.Exception
-
generateEventClass
private java.lang.Class<?> generateEventClass() throws java.lang.Exception
- Throws:
java.lang.Exception
-
-