class org.postgresql.xa.PGXAConnection$ConnectionHandler implements java.lang.reflect.InvocationHandler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.postgresql.xa.PGXAConnection$ConnectionHandler
super_class: java.lang.Object
{
private final java.sql.Connection con;
descriptor: Ljava/sql/Connection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final org.postgresql.xa.PGXAConnection this$0;
descriptor: Lorg/postgresql/xa/PGXAConnection;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.postgresql.xa.PGXAConnection, java.sql.Connection);
descriptor: (Lorg/postgresql/xa/PGXAConnection;Ljava/sql/Connection;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield org.postgresql.xa.PGXAConnection$ConnectionHandler.this$0:Lorg/postgresql/xa/PGXAConnection;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield org.postgresql.xa.PGXAConnection$ConnectionHandler.con:Ljava/sql/Connection;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/postgresql/xa/PGXAConnection$ConnectionHandler;
0 3 2 con Ljava/sql/Connection;
MethodParameters:
Name Flags
this$0 final
con
public java.lang.Object invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.postgresql.xa.PGXAConnection$ConnectionHandler.this$0:Lorg/postgresql/xa/PGXAConnection;
getfield org.postgresql.xa.PGXAConnection.state:Lorg/postgresql/xa/PGXAConnection$State;
getstatic org.postgresql.xa.PGXAConnection$State.IDLE:Lorg/postgresql/xa/PGXAConnection$State;
if_acmpeq 11
1: aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 4
start local 4 2: aload 4
ldc "commit"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
3: aload 4
ldc "rollback"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
4: aload 4
ldc "setSavePoint"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
5: aload 4
ldc "setAutoCommit"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
aload 3
iconst_0
aaload
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 11
6: StackMap locals: java.lang.String
StackMap stack:
new org.postgresql.util.PSQLException
dup
7: ldc "Transaction control methods setAutoCommit(true), commit, rollback and setSavePoint not allowed while an XA transaction is active."
iconst_0
anewarray java.lang.Object
8: invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
9: getstatic org.postgresql.util.PSQLState.OBJECT_NOT_IN_STATE:Lorg/postgresql/util/PSQLState;
10: invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;)V
athrow
end local 4 11: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
ldc "equals"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
aload 3
arraylength
iconst_1
if_icmpne 17
12: aload 3
iconst_0
aaload
astore 4
start local 4 13: aload 4
ifnull 17
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
ifeq 17
14: aload 4
invokestatic java.lang.reflect.Proxy.getInvocationHandler:(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
astore 5
start local 5 15: aload 5
instanceof org.postgresql.xa.PGXAConnection$ConnectionHandler
ifeq 17
16: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
checkcast org.postgresql.xa.PGXAConnection$ConnectionHandler
getfield org.postgresql.xa.PGXAConnection$ConnectionHandler.con:Ljava/sql/Connection;
aastore
astore 3
end local 5 end local 4 17: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.postgresql.xa.PGXAConnection$ConnectionHandler.con:Ljava/sql/Connection;
aload 3
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
18: areturn
19: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 4
start local 4 20: aload 4
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/postgresql/xa/PGXAConnection$ConnectionHandler;
0 21 1 proxy Ljava/lang/Object;
0 21 2 method Ljava/lang/reflect/Method;
0 21 3 args [Ljava/lang/Object;
2 11 4 methodName Ljava/lang/String;
13 17 4 arg Ljava/lang/Object;
15 17 5 h Ljava/lang/reflect/InvocationHandler;
20 21 4 ex Ljava/lang/reflect/InvocationTargetException;
Exception table:
from to target type
11 18 19 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws java.lang.Throwable
MethodParameters:
Name Flags
proxy
method
args
}
SourceFile: "PGXAConnection.java"
NestHost: org.postgresql.xa.PGXAConnection
InnerClasses:
private ConnectionHandler = org.postgresql.xa.PGXAConnection$ConnectionHandler of org.postgresql.xa.PGXAConnection
private final State = org.postgresql.xa.PGXAConnection$State of org.postgresql.xa.PGXAConnection