public abstract class org.hibernate.jpa.internal.metamodel.AbstractAttribute<X, Y> implements javax.persistence.metamodel.Attribute<X, Y>, org.hibernate.jpa.internal.metamodel.AttributeImplementor<X, Y>, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.jpa.internal.metamodel.AbstractAttribute
  super_class: java.lang.Object
{
  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class<Y> javaType;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<TY;>;

  private final org.hibernate.jpa.internal.metamodel.AbstractManagedType<X> declaringType;
    descriptor: Lorg/hibernate/jpa/internal/metamodel/AbstractManagedType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/hibernate/jpa/internal/metamodel/AbstractManagedType<TX;>;

  private transient java.lang.reflect.Member member;
    descriptor: Ljava/lang/reflect/Member;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private final javax.persistence.metamodel.Attribute$PersistentAttributeType persistentAttributeType;
    descriptor: Ljavax/persistence/metamodel/Attribute$PersistentAttributeType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.lang.String, java.lang.Class<Y>, org.hibernate.jpa.internal.metamodel.AbstractManagedType<X>, java.lang.reflect.Member, javax.persistence.metamodel.Attribute$PersistentAttributeType);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Lorg/hibernate/jpa/internal/metamodel/AbstractManagedType;Ljava/lang/reflect/Member;Ljavax/persistence/metamodel/Attribute$PersistentAttributeType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class javaType
        start local 3 // org.hibernate.jpa.internal.metamodel.AbstractManagedType declaringType
        start local 4 // java.lang.reflect.Member member
        start local 5 // javax.persistence.metamodel.Attribute$PersistentAttributeType persistentAttributeType
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
            aload 1 /* name */
            putfield org.hibernate.jpa.internal.metamodel.AbstractAttribute.name:Ljava/lang/String;
         2: .line 57
            aload 0 /* this */
            aload 2 /* javaType */
            putfield org.hibernate.jpa.internal.metamodel.AbstractAttribute.javaType:Ljava/lang/Class;
         3: .line 58
            aload 0 /* this */
            aload 3 /* declaringType */
            putfield org.hibernate.jpa.internal.metamodel.AbstractAttribute.declaringType:Lorg/hibernate/jpa/internal/metamodel/AbstractManagedType;
         4: .line 59
            aload 0 /* this */
            aload 4 /* member */
            putfield org.hibernate.jpa.internal.metamodel.AbstractAttribute.member:Ljava/lang/reflect/Member;
         5: .line 60
            aload 0 /* this */
            aload 5 /* persistentAttributeType */
            putfield org.hibernate.jpa.internal.metamodel.AbstractAttribute.persistentAttributeType:Ljavax/persistence/metamodel/Attribute$PersistentAttributeType;
         6: .line 61
            return
        end local 5 // javax.persistence.metamodel.Attribute$PersistentAttributeType persistentAttributeType
        end local 4 // java.lang.reflect.Member member
        end local 3 // org.hibernate.jpa.internal.metamodel.AbstractManagedType declaringType
        end local 2 // java.lang.Class javaType
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    7     0                     this  Lorg/hibernate/jpa/internal/metamodel/AbstractAttribute<TX;TY;>;
            0    7     1                     name  Ljava/lang/String;
            0    7     2                 javaType  Ljava/lang/Class<TY;>;
            0    7     3            declaringType  Lorg/hibernate/jpa/internal/metamodel/AbstractManagedType<TX;>;
            0    7     4                   member  Ljava/lang/reflect/Member;
            0    7     5  persistentAttributeType  Ljavax/persistence/metamodel/Attribute$PersistentAttributeType;
    Signature: (Ljava/lang/String;Ljava/lang/Class<TY;>;Lorg/hibernate/jpa/internal/metamodel/AbstractManagedType<TX;>;Ljava/lang/reflect/Member;Ljavax/persistence/metamodel/Attribute$PersistentAttributeType;)V
    MethodParameters:
                         Name  Flags
      name                     
      javaType                 
      declaringType            
      member                   
      persistentAttributeType  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
         0: .line 65
            aload 0 /* this */
            getfield org.hibernate.jpa.internal.metamodel.AbstractAttribute.name:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/jpa/internal/metamodel/AbstractAttribute<TX;TY;>;

  public javax.persistence.metamodel.ManagedType<X> getDeclaringType();
    descriptor: ()Ljavax/persistence/metamodel/ManagedType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
         0: .line 70
            aload 0 /* this */
            getfield org.hibernate.jpa.internal.metamodel.AbstractAttribute.declaringType:Lorg/hibernate/jpa/internal/metamodel/AbstractManagedType;
            areturn
        end local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/jpa/internal/metamodel/AbstractAttribute<TX;TY;>;
    Signature: ()Ljavax/persistence/metamodel/ManagedType<TX;>;

  public java.lang.Class<Y> getJavaType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
         0: .line 75
            aload 0 /* this */
            getfield org.hibernate.jpa.internal.metamodel.AbstractAttribute.javaType:Ljava/lang/Class;
            areturn
        end local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/jpa/internal/metamodel/AbstractAttribute<TX;TY;>;
    Signature: ()Ljava/lang/Class<TY;>;

  public java.lang.reflect.Member getJavaMember();
    descriptor: ()Ljava/lang/reflect/Member;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
         0: .line 80
            aload 0 /* this */
            getfield org.hibernate.jpa.internal.metamodel.AbstractAttribute.member:Ljava/lang/reflect/Member;
            areturn
        end local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/jpa/internal/metamodel/AbstractAttribute<TX;TY;>;

  public javax.persistence.metamodel.Attribute$PersistentAttributeType getPersistentAttributeType();
    descriptor: ()Ljavax/persistence/metamodel/Attribute$PersistentAttributeType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
         0: .line 85
            aload 0 /* this */
            getfield org.hibernate.jpa.internal.metamodel.AbstractAttribute.persistentAttributeType:Ljavax/persistence/metamodel/Attribute$PersistentAttributeType;
            areturn
        end local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/jpa/internal/metamodel/AbstractAttribute<TX;TY;>;

  protected void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
        start local 1 // java.io.ObjectInputStream ois
         0: .line 96
            aload 1 /* ois */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 97
            aload 1 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* memberDeclaringClassName */
        start local 2 // java.lang.String memberDeclaringClassName
         2: .line 98
            aload 1 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* memberName */
        start local 3 // java.lang.String memberName
         3: .line 99
            aload 1 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* memberType */
        start local 4 // java.lang.String memberType
         4: .line 102
            aload 2 /* memberDeclaringClassName */
         5: .line 103
            iconst_0
         6: .line 104
            aload 0 /* this */
            getfield org.hibernate.jpa.internal.metamodel.AbstractAttribute.declaringType:Lorg/hibernate/jpa/internal/metamodel/AbstractManagedType;
            invokevirtual org.hibernate.jpa.internal.metamodel.AbstractManagedType.getJavaType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         7: .line 101
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 5 /* memberDeclaringClass */
        start local 5 // java.lang.Class memberDeclaringClass
         8: .line 107
            aload 0 /* this */
            ldc "method"
            aload 4 /* memberType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 108
            aload 5 /* memberDeclaringClass */
            aload 3 /* memberName */
            getstatic org.hibernate.internal.util.ReflectHelper.NO_PARAM_SIGNATURE:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            goto 11
        10: .line 109
      StackMap locals: org.hibernate.jpa.internal.metamodel.AbstractAttribute java.io.ObjectInputStream java.lang.String java.lang.String java.lang.String java.lang.Class
      StackMap stack: org.hibernate.jpa.internal.metamodel.AbstractAttribute
            aload 5 /* memberDeclaringClass */
            aload 3 /* memberName */
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
        11: .line 107
      StackMap locals: org.hibernate.jpa.internal.metamodel.AbstractAttribute java.io.ObjectInputStream java.lang.String java.lang.String java.lang.String java.lang.Class
      StackMap stack: org.hibernate.jpa.internal.metamodel.AbstractAttribute java.lang.reflect.AccessibleObject
            putfield org.hibernate.jpa.internal.metamodel.AbstractAttribute.member:Ljava/lang/reflect/Member;
        12: .line 110
            goto 19
        13: .line 111
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        14: .line 112
            new java.lang.IllegalStateException
            dup
        15: .line 113
            new java.lang.StringBuilder
            dup
            ldc "Unable to locate member ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* memberDeclaringClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "#"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 114
            aload 3 /* memberName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 113
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 112
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 117
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.Class memberDeclaringClass
        end local 4 // java.lang.String memberType
        end local 3 // java.lang.String memberName
        end local 2 // java.lang.String memberDeclaringClassName
        end local 1 // java.io.ObjectInputStream ois
        end local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   20     0                      this  Lorg/hibernate/jpa/internal/metamodel/AbstractAttribute<TX;TY;>;
            0   20     1                       ois  Ljava/io/ObjectInputStream;
            2   20     2  memberDeclaringClassName  Ljava/lang/String;
            3   20     3                memberName  Ljava/lang/String;
            4   20     4                memberType  Ljava/lang/String;
            8   20     5      memberDeclaringClass  Ljava/lang/Class;
      Exception table:
        from    to  target  type
           8    12      13  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      ois   

  protected void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
        start local 1 // java.io.ObjectOutputStream oos
         0: .line 126
            aload 1 /* oos */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         1: .line 127
            aload 1 /* oos */
            aload 0 /* this */
            invokevirtual org.hibernate.jpa.internal.metamodel.AbstractAttribute.getJavaMember:()Ljava/lang/reflect/Member;
            invokeinterface java.lang.reflect.Member.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         2: .line 128
            aload 1 /* oos */
            aload 0 /* this */
            invokevirtual org.hibernate.jpa.internal.metamodel.AbstractAttribute.getJavaMember:()Ljava/lang/reflect/Member;
            invokeinterface java.lang.reflect.Member.getName:()Ljava/lang/String;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         3: .line 130
            aload 1 /* oos */
            ldc Ljava/lang/reflect/Method;
            aload 0 /* this */
            invokevirtual org.hibernate.jpa.internal.metamodel.AbstractAttribute.getJavaMember:()Ljava/lang/reflect/Member;
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 4
            ldc "method"
            goto 5
      StackMap locals:
      StackMap stack: java.io.ObjectOutputStream
         4: ldc "field"
      StackMap locals: org.hibernate.jpa.internal.metamodel.AbstractAttribute java.io.ObjectOutputStream
      StackMap stack: java.io.ObjectOutputStream java.lang.String
         5: invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         6: .line 131
            return
        end local 1 // java.io.ObjectOutputStream oos
        end local 0 // org.hibernate.jpa.internal.metamodel.AbstractAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/jpa/internal/metamodel/AbstractAttribute<TX;TY;>;
            0    7     1   oos  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oos   
}
Signature: <X:Ljava/lang/Object;Y:Ljava/lang/Object;>Ljava/lang/Object;Ljavax/persistence/metamodel/Attribute<TX;TY;>;Lorg/hibernate/jpa/internal/metamodel/AttributeImplementor<TX;TY;>;Ljava/io/Serializable;
SourceFile: "AbstractAttribute.java"
InnerClasses:
  public final PersistentAttributeType = javax.persistence.metamodel.Attribute$PersistentAttributeType of javax.persistence.metamodel.Attribute