class org.hibernate.internal.SessionImpl$1 implements org.hibernate.engine.transaction.spi.TransactionObserver
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.hibernate.internal.SessionImpl$1
  super_class: java.lang.Object
{
  final org.hibernate.internal.SessionImpl this$0;
    descriptor: Lorg/hibernate/internal/SessionImpl;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final boolean val$flushBeforeCompletionEnabled;
    descriptor: Z
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final boolean val$autoCloseSessionEnabled;
    descriptor: Z
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl val$transactionCoordinator;
    descriptor: Lorg/hibernate/engine/transaction/internal/TransactionCoordinatorImpl;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.hibernate.internal.SessionImpl, boolean, boolean, org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl);
    descriptor: (Lorg/hibernate/internal/SessionImpl;ZZLorg/hibernate/engine/transaction/internal/TransactionCoordinatorImpl;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.hibernate.internal.SessionImpl$1 this
         0: .line 289
            aload 0 /* this */
            aload 1
            putfield org.hibernate.internal.SessionImpl$1.this$0:Lorg/hibernate/internal/SessionImpl;
            aload 0 /* this */
            iload 2
            putfield org.hibernate.internal.SessionImpl$1.val$flushBeforeCompletionEnabled:Z
            aload 0 /* this */
            iload 3
            putfield org.hibernate.internal.SessionImpl$1.val$autoCloseSessionEnabled:Z
            aload 0 /* this */
            aload 4
            putfield org.hibernate.internal.SessionImpl$1.val$transactionCoordinator:Lorg/hibernate/engine/transaction/internal/TransactionCoordinatorImpl;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.hibernate.internal.SessionImpl$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionImpl$1;
    MethodParameters:
                                  Name  Flags
      this$0                            final
      val$flushBeforeCompletionEnabled  final
      val$autoCloseSessionEnabled       final
      val$transactionCoordinator        final

  public void afterBegin(org.hibernate.engine.transaction.spi.TransactionImplementor);
    descriptor: (Lorg/hibernate/engine/transaction/spi/TransactionImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionImpl$1 this
        start local 1 // org.hibernate.engine.transaction.spi.TransactionImplementor transaction
         0: .line 292
            return
        end local 1 // org.hibernate.engine.transaction.spi.TransactionImplementor transaction
        end local 0 // org.hibernate.internal.SessionImpl$1 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/hibernate/internal/SessionImpl$1;
            0    1     1  transaction  Lorg/hibernate/engine/transaction/spi/TransactionImplementor;
    MethodParameters:
             Name  Flags
      transaction  

  public void beforeCompletion(org.hibernate.engine.transaction.spi.TransactionImplementor);
    descriptor: (Lorg/hibernate/engine/transaction/spi/TransactionImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionImpl$1 this
        start local 1 // org.hibernate.engine.transaction.spi.TransactionImplementor transaction
         0: .line 296
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$1.this$0:Lorg/hibernate/internal/SessionImpl;
            invokevirtual org.hibernate.internal.SessionImpl.isOpen:()Z
            ifeq 2
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$1.val$flushBeforeCompletionEnabled:Z
            ifeq 2
         1: .line 297
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$1.this$0:Lorg/hibernate/internal/SessionImpl;
            invokevirtual org.hibernate.internal.SessionImpl.managedFlush:()V
         2: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$1.this$0:Lorg/hibernate/internal/SessionImpl;
            aload 1 /* transaction */
            invokevirtual org.hibernate.internal.SessionImpl.beforeTransactionCompletion:(Lorg/hibernate/engine/transaction/spi/TransactionImplementor;)V
         3: .line 300
            return
        end local 1 // org.hibernate.engine.transaction.spi.TransactionImplementor transaction
        end local 0 // org.hibernate.internal.SessionImpl$1 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/hibernate/internal/SessionImpl$1;
            0    4     1  transaction  Lorg/hibernate/engine/transaction/spi/TransactionImplementor;
    MethodParameters:
             Name  Flags
      transaction  

  public void afterCompletion(boolean, org.hibernate.engine.transaction.spi.TransactionImplementor);
    descriptor: (ZLorg/hibernate/engine/transaction/spi/TransactionImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionImpl$1 this
        start local 1 // boolean successful
        start local 2 // org.hibernate.engine.transaction.spi.TransactionImplementor transaction
         0: .line 304
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$1.this$0:Lorg/hibernate/internal/SessionImpl;
            aload 2 /* transaction */
            iload 1 /* successful */
            invokevirtual org.hibernate.internal.SessionImpl.afterTransactionCompletion:(Lorg/hibernate/engine/transaction/spi/TransactionImplementor;Z)V
         1: .line 305
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$1.this$0:Lorg/hibernate/internal/SessionImpl;
            invokevirtual org.hibernate.internal.SessionImpl.isOpen:()Z
            ifeq 3
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$1.val$autoCloseSessionEnabled:Z
            ifeq 3
         2: .line 306
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$1.this$0:Lorg/hibernate/internal/SessionImpl;
            invokevirtual org.hibernate.internal.SessionImpl.managedClose:()V
         3: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$1.val$transactionCoordinator:Lorg/hibernate/engine/transaction/internal/TransactionCoordinatorImpl;
            aload 0 /* this */
            invokevirtual org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.removeObserver:(Lorg/hibernate/engine/transaction/spi/TransactionObserver;)V
         4: .line 309
            return
        end local 2 // org.hibernate.engine.transaction.spi.TransactionImplementor transaction
        end local 1 // boolean successful
        end local 0 // org.hibernate.internal.SessionImpl$1 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/hibernate/internal/SessionImpl$1;
            0    5     1   successful  Z
            0    5     2  transaction  Lorg/hibernate/engine/transaction/spi/TransactionImplementor;
    MethodParameters:
             Name  Flags
      successful   
      transaction  
}
SourceFile: "SessionImpl.java"
EnclosingMethod: org.hibernate.internal.SessionImpl.<init>:(Ljava/sql/Connection;Lorg/hibernate/internal/SessionFactoryImpl;Lorg/hibernate/engine/spi/SessionOwner;Lorg/hibernate/engine/transaction/internal/TransactionCoordinatorImpl;Lorg/hibernate/engine/spi/ActionQueue$TransactionCompletionProcesses;ZJLorg/hibernate/Interceptor;ZZLorg/hibernate/ConnectionReleaseMode;Ljava/lang/String;)V
NestHost: org.hibernate.internal.SessionImpl
InnerClasses:
  public TransactionCompletionProcesses = org.hibernate.engine.spi.ActionQueue$TransactionCompletionProcesses of org.hibernate.engine.spi.ActionQueue
  org.hibernate.internal.SessionImpl$1