Class JFRLegacyEventClassGenerator
- java.lang.Object
-
- org.openjdk.jmc.agent.jfrlegacy.impl.JFRLegacyEventClassGenerator
-
public class JFRLegacyEventClassGenerator extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
CLASS_NAME_DURATION_EVENT
private static java.lang.String
CLASS_NAME_INSTANT_EVENT
private static java.lang.String
CLASS_NAME_TIMED_EVENT
-
Constructor Summary
Constructors Constructor Description JFRLegacyEventClassGenerator()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static void
createField(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td, org.objectweb.asm.Type type)
private static void
createField(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td, Attribute attribute, org.objectweb.asm.Type type)
private static void
generateAttributeFields(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td, java.lang.Class<?> classBeingRedefined)
private static void
generateClassAnnotations(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td)
private static void
generateClinit(org.objectweb.asm.ClassWriter cw, java.lang.String className, java.lang.String parameterizedClassName)
static byte[]
generateEventClass(JFRTransformDescriptor td, java.lang.Class<?> classBeingRedefined)
Generates an event class.private static void
generateInit(org.objectweb.asm.ClassWriter cw, java.lang.String className, java.lang.String parameterizedClassName)
private static void
generateTokenField(org.objectweb.asm.ClassWriter cw)
private static java.lang.String
getEventTypeName(JFRLegacyEventType eventType)
private static java.lang.String
getFieldType(org.objectweb.asm.Type type)
-
-
-
Field Detail
-
CLASS_NAME_INSTANT_EVENT
private static final java.lang.String CLASS_NAME_INSTANT_EVENT
- See Also:
- Constant Field Values
-
CLASS_NAME_DURATION_EVENT
private static final java.lang.String CLASS_NAME_DURATION_EVENT
- See Also:
- Constant Field Values
-
CLASS_NAME_TIMED_EVENT
private static final java.lang.String CLASS_NAME_TIMED_EVENT
- See Also:
- Constant Field Values
-
-
Method Detail
-
generateEventClass
public static byte[] generateEventClass(JFRTransformDescriptor td, java.lang.Class<?> classBeingRedefined) throws java.lang.Exception
Generates an event class.- Parameters:
td
- the transform descriptor describing the transform.- Returns:
- returns the byte code for the generated class.
- Throws:
java.lang.Exception
- if the event class could not be generated.
-
generateAttributeFields
private static void generateAttributeFields(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td, java.lang.Class<?> classBeingRedefined) throws IllegalSyntaxException
- Throws:
IllegalSyntaxException
-
createField
private static void createField(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td, Attribute attribute, org.objectweb.asm.Type type)
-
createField
private static void createField(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td, org.objectweb.asm.Type type)
-
getFieldType
private static java.lang.String getFieldType(org.objectweb.asm.Type type)
-
generateInit
private static void generateInit(org.objectweb.asm.ClassWriter cw, java.lang.String className, java.lang.String parameterizedClassName)
-
generateClinit
private static void generateClinit(org.objectweb.asm.ClassWriter cw, java.lang.String className, java.lang.String parameterizedClassName)
-
generateTokenField
private static void generateTokenField(org.objectweb.asm.ClassWriter cw)
-
generateClassAnnotations
private static void generateClassAnnotations(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td)
-
getEventTypeName
private static java.lang.String getEventTypeName(JFRLegacyEventType eventType)
-
-