Class JFRLegacyEventClassGenerator

java.lang.Object
org.openjdk.jmc.agent.jfrlegacy.impl.JFRLegacyEventClassGenerator

public class JFRLegacyEventClassGenerator extends Object
  • Field Details

  • 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

      private static String getFieldType(org.objectweb.asm.Type type)
    • generateInit

      private static void generateInit(org.objectweb.asm.ClassWriter cw, String className, String parameterizedClassName)
    • generateClinit

      private static void generateClinit(org.objectweb.asm.ClassWriter cw, String className, 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 String getEventTypeName(JFRLegacyEventType eventType)