public class org.hibernate.cfg.ToOneBinder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.cfg.ToOneBinder
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.ToOneBinder this
         0: .line 24
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.hibernate.cfg.ToOneBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/ToOneBinder;

  public static java.lang.String getReferenceEntityName(org.hibernate.cfg.PropertyData, org.hibernate.annotations.common.reflection.XClass, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/cfg/PropertyData;Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.cfg.PropertyData propertyData
        start local 1 // org.hibernate.annotations.common.reflection.XClass targetEntity
        start local 2 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 26
            aload 1 /* targetEntity */
            aload 2 /* buildingContext */
            invokestatic org.hibernate.cfg.AnnotationBinder.isDefault:(Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Z
            ifeq 2
         1: .line 27
            aload 0 /* propertyData */
            invokeinterface org.hibernate.cfg.PropertyData.getClassOrElementName:()Ljava/lang/String;
            areturn
         2: .line 30
      StackMap locals:
      StackMap stack:
            aload 1 /* targetEntity */
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            areturn
        end local 2 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 1 // org.hibernate.annotations.common.reflection.XClass targetEntity
        end local 0 // org.hibernate.cfg.PropertyData propertyData
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0     propertyData  Lorg/hibernate/cfg/PropertyData;
            0    3     1     targetEntity  Lorg/hibernate/annotations/common/reflection/XClass;
            0    3     2  buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
    MethodParameters:
                 Name  Flags
      propertyData     
      targetEntity     
      buildingContext  

  public static java.lang.String getReferenceEntityName(org.hibernate.cfg.PropertyData, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/cfg/PropertyData;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.cfg.PropertyData propertyData
        start local 1 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 35
            aload 0 /* propertyData */
            aload 1 /* buildingContext */
            invokestatic org.hibernate.cfg.ToOneBinder.getTargetEntity:(Lorg/hibernate/cfg/PropertyData;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/annotations/common/reflection/XClass;
            astore 2 /* targetEntity */
        start local 2 // org.hibernate.annotations.common.reflection.XClass targetEntity
         1: .line 36
            aload 2 /* targetEntity */
            aload 1 /* buildingContext */
            invokestatic org.hibernate.cfg.AnnotationBinder.isDefault:(Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Z
            ifeq 3
         2: .line 37
            aload 0 /* propertyData */
            invokeinterface org.hibernate.cfg.PropertyData.getClassOrElementName:()Ljava/lang/String;
            areturn
         3: .line 40
      StackMap locals: org.hibernate.annotations.common.reflection.XClass
      StackMap stack:
            aload 2 /* targetEntity */
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            areturn
        end local 2 // org.hibernate.annotations.common.reflection.XClass targetEntity
        end local 1 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 0 // org.hibernate.cfg.PropertyData propertyData
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0     propertyData  Lorg/hibernate/cfg/PropertyData;
            0    4     1  buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            1    4     2     targetEntity  Lorg/hibernate/annotations/common/reflection/XClass;
    MethodParameters:
                 Name  Flags
      propertyData     
      buildingContext  

  public static org.hibernate.annotations.common.reflection.XClass getTargetEntity(org.hibernate.cfg.PropertyData, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/cfg/PropertyData;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/annotations/common/reflection/XClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.cfg.PropertyData propertyData
        start local 1 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 45
            aload 0 /* propertyData */
            invokeinterface org.hibernate.cfg.PropertyData.getProperty:()Lorg/hibernate/annotations/common/reflection/XProperty;
            astore 2 /* property */
        start local 2 // org.hibernate.annotations.common.reflection.XProperty property
         1: .line 46
            aload 1 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getBootstrapContext:()Lorg/hibernate/boot/spi/BootstrapContext;
            invokeinterface org.hibernate.boot.spi.BootstrapContext.getReflectionManager:()Lorg/hibernate/annotations/common/reflection/ReflectionManager;
            aload 2 /* property */
            invokestatic org.hibernate.cfg.ToOneBinder.getTargetEntityClass:(Lorg/hibernate/annotations/common/reflection/XProperty;)Ljava/lang/Class;
            invokeinterface org.hibernate.annotations.common.reflection.ReflectionManager.toXClass:(Ljava/lang/Class;)Lorg/hibernate/annotations/common/reflection/XClass;
            areturn
        end local 2 // org.hibernate.annotations.common.reflection.XProperty property
        end local 1 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 0 // org.hibernate.cfg.PropertyData propertyData
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0     propertyData  Lorg/hibernate/cfg/PropertyData;
            0    2     1  buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            1    2     2         property  Lorg/hibernate/annotations/common/reflection/XProperty;
    MethodParameters:
                 Name  Flags
      propertyData     
      buildingContext  

  private static java.lang.Class<?> getTargetEntityClass(org.hibernate.annotations.common.reflection.XProperty);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XProperty;)Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.hibernate.annotations.common.reflection.XProperty property
         0: .line 50
            aload 0 /* property */
            ldc Ljavax/persistence/ManyToOne;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.ManyToOne
            astore 1 /* mTo */
        start local 1 // javax.persistence.ManyToOne mTo
         1: .line 51
            aload 1 /* mTo */
            ifnull 3
         2: .line 52
            aload 1 /* mTo */
            invokeinterface javax.persistence.ManyToOne.targetEntity:()Ljava/lang/Class;
            areturn
         3: .line 54
      StackMap locals: javax.persistence.ManyToOne
      StackMap stack:
            aload 0 /* property */
            ldc Ljavax/persistence/OneToOne;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.OneToOne
            astore 2 /* oTo */
        start local 2 // javax.persistence.OneToOne oTo
         4: .line 55
            aload 2 /* oTo */
            ifnull 6
         5: .line 56
            aload 2 /* oTo */
            invokeinterface javax.persistence.OneToOne.targetEntity:()Ljava/lang/Class;
            areturn
         6: .line 58
      StackMap locals: javax.persistence.OneToOne
      StackMap stack:
            new org.hibernate.AssertionFailure
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected discovery of a targetEntity: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // javax.persistence.OneToOne oTo
        end local 1 // javax.persistence.ManyToOne mTo
        end local 0 // org.hibernate.annotations.common.reflection.XProperty property
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  property  Lorg/hibernate/annotations/common/reflection/XProperty;
            1    7     1       mTo  Ljavax/persistence/ManyToOne;
            4    7     2       oTo  Ljavax/persistence/OneToOne;
    Signature: (Lorg/hibernate/annotations/common/reflection/XProperty;)Ljava/lang/Class<*>;
    MethodParameters:
          Name  Flags
      property  
}
SourceFile: "ToOneBinder.java"