public abstract class org.hibernate.bytecode.spi.AbstractClassTransformerImpl implements org.hibernate.bytecode.spi.ClassTransformer
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.bytecode.spi.AbstractClassTransformerImpl
  super_class: java.lang.Object
{
  protected final org.hibernate.bytecode.buildtime.spi.ClassFilter classFilter;
    descriptor: Lorg/hibernate/bytecode/buildtime/spi/ClassFilter;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.hibernate.bytecode.buildtime.spi.FieldFilter fieldFilter;
    descriptor: Lorg/hibernate/bytecode/buildtime/spi/FieldFilter;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected void <init>(org.hibernate.bytecode.buildtime.spi.ClassFilter, org.hibernate.bytecode.buildtime.spi.FieldFilter);
    descriptor: (Lorg/hibernate/bytecode/buildtime/spi/ClassFilter;Lorg/hibernate/bytecode/buildtime/spi/FieldFilter;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.bytecode.spi.AbstractClassTransformerImpl this
        start local 1 // org.hibernate.bytecode.buildtime.spi.ClassFilter classFilter
        start local 2 // org.hibernate.bytecode.buildtime.spi.FieldFilter fieldFilter
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            aload 0 /* this */
            aload 1 /* classFilter */
            putfield org.hibernate.bytecode.spi.AbstractClassTransformerImpl.classFilter:Lorg/hibernate/bytecode/buildtime/spi/ClassFilter;
         2: .line 43
            aload 0 /* this */
            aload 2 /* fieldFilter */
            putfield org.hibernate.bytecode.spi.AbstractClassTransformerImpl.fieldFilter:Lorg/hibernate/bytecode/buildtime/spi/FieldFilter;
         3: .line 44
            return
        end local 2 // org.hibernate.bytecode.buildtime.spi.FieldFilter fieldFilter
        end local 1 // org.hibernate.bytecode.buildtime.spi.ClassFilter classFilter
        end local 0 // org.hibernate.bytecode.spi.AbstractClassTransformerImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/hibernate/bytecode/spi/AbstractClassTransformerImpl;
            0    4     1  classFilter  Lorg/hibernate/bytecode/buildtime/spi/ClassFilter;
            0    4     2  fieldFilter  Lorg/hibernate/bytecode/buildtime/spi/FieldFilter;
    MethodParameters:
             Name  Flags
      classFilter  
      fieldFilter  

  public byte[] transform(java.lang.ClassLoader, java.lang.String, java.lang.Class, java.security.ProtectionDomain, byte[]);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;Ljava/security/ProtectionDomain;[B)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.hibernate.bytecode.spi.AbstractClassTransformerImpl this
        start local 1 // java.lang.ClassLoader loader
        start local 2 // java.lang.String className
        start local 3 // java.lang.Class classBeingRedefined
        start local 4 // java.security.ProtectionDomain protectionDomain
        start local 5 // byte[] classfileBuffer
         0: .line 54
            aload 2 /* className */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 2 /* className */
         1: .line 55
            aload 0 /* this */
            getfield org.hibernate.bytecode.spi.AbstractClassTransformerImpl.classFilter:Lorg/hibernate/bytecode/buildtime/spi/ClassFilter;
            aload 2 /* className */
            invokeinterface org.hibernate.bytecode.buildtime.spi.ClassFilter.shouldInstrumentClass:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 56
            aload 0 /* this */
            aload 1 /* loader */
            aload 2 /* className */
            aload 3 /* classBeingRedefined */
            aload 4 /* protectionDomain */
            aload 5 /* classfileBuffer */
            invokevirtual org.hibernate.bytecode.spi.AbstractClassTransformerImpl.doTransform:(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;Ljava/security/ProtectionDomain;[B)[B
            areturn
         3: .line 59
      StackMap locals:
      StackMap stack:
            aload 5 /* classfileBuffer */
            areturn
        end local 5 // byte[] classfileBuffer
        end local 4 // java.security.ProtectionDomain protectionDomain
        end local 3 // java.lang.Class classBeingRedefined
        end local 2 // java.lang.String className
        end local 1 // java.lang.ClassLoader loader
        end local 0 // org.hibernate.bytecode.spi.AbstractClassTransformerImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/hibernate/bytecode/spi/AbstractClassTransformerImpl;
            0    4     1               loader  Ljava/lang/ClassLoader;
            0    4     2            className  Ljava/lang/String;
            0    4     3  classBeingRedefined  Ljava/lang/Class;
            0    4     4     protectionDomain  Ljava/security/ProtectionDomain;
            0    4     5      classfileBuffer  [B
    MethodParameters:
                     Name  Flags
      loader               
      className            
      classBeingRedefined  
      protectionDomain     
      classfileBuffer      

  protected abstract byte[] doTransform(java.lang.ClassLoader, java.lang.String, java.lang.Class, java.security.ProtectionDomain, byte[]);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;Ljava/security/ProtectionDomain;[B)[B
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                     Name  Flags
      loader               
      className            
      classBeingRedefined  
      protectionDomain     
      classfileBuffer      
}
SourceFile: "AbstractClassTransformerImpl.java"