Class JFRLegacyEventClassGenerator
java.lang.Object
org.openjdk.jmc.agent.jfrlegacy.impl.JFRLegacyEventClassGenerator
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidcreateField(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td, org.objectweb.asm.Type type) private static voidcreateField(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td, Attribute attribute, org.objectweb.asm.Type type) private static voidgenerateAttributeFields(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td, Class<?> classBeingRedefined) private static voidgenerateClassAnnotations(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td) private static voidgenerateClinit(org.objectweb.asm.ClassWriter cw, String className, String parameterizedClassName) static byte[]generateEventClass(JFRTransformDescriptor td, Class<?> classBeingRedefined) Generates an event class.private static voidgenerateInit(org.objectweb.asm.ClassWriter cw, String className, String parameterizedClassName) private static voidgenerateTokenField(org.objectweb.asm.ClassWriter cw) private static StringgetEventTypeName(JFRLegacyEventType eventType) private static StringgetFieldType(org.objectweb.asm.Type type)
-
Field Details
-
CLASS_NAME_INSTANT_EVENT
- See Also:
-
CLASS_NAME_DURATION_EVENT
- See Also:
-
CLASS_NAME_TIMED_EVENT
- See Also:
-
-
Constructor Details
-
JFRLegacyEventClassGenerator
public JFRLegacyEventClassGenerator()
-
-
Method Details
-
generateEventClass
public static byte[] generateEventClass(JFRTransformDescriptor td, Class<?> classBeingRedefined) throws Exception Generates an event class.- Parameters:
td- the transform descriptor describing the transform.- Returns:
- returns the byte code for the generated class.
- Throws:
Exception- if the event class could not be generated.
-
generateAttributeFields
private static void generateAttributeFields(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td, 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
-
generateInit
-
generateClinit
-
generateTokenField
private static void generateTokenField(org.objectweb.asm.ClassWriter cw) -
generateClassAnnotations
private static void generateClassAnnotations(org.objectweb.asm.ClassWriter cw, JFRTransformDescriptor td) -
getEventTypeName
-