class org.postgresql.ds.PGPooledConnection$StatementHandler implements java.lang.reflect.InvocationHandler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.postgresql.ds.PGPooledConnection$StatementHandler
super_class: java.lang.Object
{
private org.postgresql.ds.PGPooledConnection$ConnectionHandler con;
descriptor: Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;
flags: (0x0002) ACC_PRIVATE
private java.sql.Statement st;
descriptor: Ljava/sql/Statement;
flags: (0x0002) ACC_PRIVATE
final org.postgresql.ds.PGPooledConnection this$0;
descriptor: Lorg/postgresql/ds/PGPooledConnection;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.postgresql.ds.PGPooledConnection, org.postgresql.ds.PGPooledConnection$ConnectionHandler, java.sql.Statement);
descriptor: (Lorg/postgresql/ds/PGPooledConnection;Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;Ljava/sql/Statement;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 // org.postgresql.ds.PGPooledConnection$StatementHandler this
start local 2 // org.postgresql.ds.PGPooledConnection$ConnectionHandler con
start local 3 // java.sql.Statement st
0: .line 383
aload 0 /* this */
aload 1
putfield org.postgresql.ds.PGPooledConnection$StatementHandler.this$0:Lorg/postgresql/ds/PGPooledConnection;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 384
aload 0 /* this */
aload 2 /* con */
putfield org.postgresql.ds.PGPooledConnection$StatementHandler.con:Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;
2: .line 385
aload 0 /* this */
aload 3 /* st */
putfield org.postgresql.ds.PGPooledConnection$StatementHandler.st:Ljava/sql/Statement;
3: .line 386
return
end local 3 // java.sql.Statement st
end local 2 // org.postgresql.ds.PGPooledConnection$ConnectionHandler con
end local 0 // org.postgresql.ds.PGPooledConnection$StatementHandler this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/postgresql/ds/PGPooledConnection$StatementHandler;
0 4 2 con Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;
0 4 3 st Ljava/sql/Statement;
MethodParameters:
Name Flags
this$0 final
con
st
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=7, args_size=4
start local 0 // org.postgresql.ds.PGPooledConnection$StatementHandler this
start local 1 // java.lang.Object proxy
start local 2 // java.lang.reflect.Method method
start local 3 // java.lang.Object[] args
0: .line 390
aload 2 /* method */
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 4 /* methodName */
start local 4 // java.lang.String methodName
1: .line 392
aload 2 /* method */
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
ldc Ljava/lang/Object;
if_acmpne 10
2: .line 393
aload 4 /* methodName */
ldc "toString"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: .line 394
new java.lang.StringBuilder
dup
ldc "Pooled statement wrapping physical statement "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield org.postgresql.ds.PGPooledConnection$StatementHandler.st:Ljava/sql/Statement;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: .line 396
StackMap locals: java.lang.String
StackMap stack:
aload 4 /* methodName */
ldc "hashCode"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: .line 397
aload 1 /* proxy */
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
6: .line 399
StackMap locals:
StackMap stack:
aload 4 /* methodName */
ldc "equals"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
7: .line 400
aload 1 /* proxy */
aload 3 /* args */
iconst_0
aaload
if_acmpne 8
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
8: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
9: .line 402
StackMap locals:
StackMap stack:
aload 2 /* method */
aload 0 /* this */
getfield org.postgresql.ds.PGPooledConnection$StatementHandler.st:Ljava/sql/Statement;
aload 3 /* args */
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
10: .line 406
StackMap locals:
StackMap stack:
aload 4 /* methodName */
ldc "isClosed"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: .line 407
aload 0 /* this */
getfield org.postgresql.ds.PGPooledConnection$StatementHandler.st:Ljava/sql/Statement;
ifnull 12
aload 0 /* this */
getfield org.postgresql.ds.PGPooledConnection$StatementHandler.st:Ljava/sql/Statement;
invokeinterface java.sql.Statement.isClosed:()Z
ifne 12
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
12: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
13: .line 409
StackMap locals:
StackMap stack:
aload 4 /* methodName */
ldc "close"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
14: .line 410
aload 0 /* this */
getfield org.postgresql.ds.PGPooledConnection$StatementHandler.st:Ljava/sql/Statement;
ifnull 15
aload 0 /* this */
getfield org.postgresql.ds.PGPooledConnection$StatementHandler.st:Ljava/sql/Statement;
invokeinterface java.sql.Statement.isClosed:()Z
ifeq 16
15: .line 411
StackMap locals:
StackMap stack:
aconst_null
areturn
16: .line 413
StackMap locals:
StackMap stack:
aload 0 /* this */
aconst_null
putfield org.postgresql.ds.PGPooledConnection$StatementHandler.con:Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;
17: .line 414
aload 0 /* this */
getfield org.postgresql.ds.PGPooledConnection$StatementHandler.st:Ljava/sql/Statement;
astore 5 /* oldSt */
start local 5 // java.sql.Statement oldSt
18: .line 415
aload 0 /* this */
aconst_null
putfield org.postgresql.ds.PGPooledConnection$StatementHandler.st:Ljava/sql/Statement;
19: .line 416
aload 5 /* oldSt */
invokeinterface java.sql.Statement.close:()V
20: .line 417
aconst_null
areturn
end local 5 // java.sql.Statement oldSt
21: .line 419
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.postgresql.ds.PGPooledConnection$StatementHandler.st:Ljava/sql/Statement;
ifnull 22
aload 0 /* this */
getfield org.postgresql.ds.PGPooledConnection$StatementHandler.st:Ljava/sql/Statement;
invokeinterface java.sql.Statement.isClosed:()Z
ifeq 23
22: .line 420
StackMap locals:
StackMap stack:
new org.postgresql.util.PSQLException
dup
ldc "Statement has been closed."
iconst_0
anewarray java.lang.Object
invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
getstatic org.postgresql.util.PSQLState.OBJECT_NOT_IN_STATE:Lorg/postgresql/util/PSQLState;
invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;)V
athrow
23: .line 422
StackMap locals:
StackMap stack:
aload 4 /* methodName */
ldc "getConnection"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
24: .line 423
aload 0 /* this */
getfield org.postgresql.ds.PGPooledConnection$StatementHandler.con:Lorg/postgresql/ds/PGPooledConnection$ConnectionHandler;
invokevirtual org.postgresql.ds.PGPooledConnection$ConnectionHandler.getProxy:()Ljava/sql/Connection;
areturn
25: .line 428
StackMap locals:
StackMap stack:
aload 2 /* method */
aload 0 /* this */
getfield org.postgresql.ds.PGPooledConnection$StatementHandler.st:Ljava/sql/Statement;
aload 3 /* args */
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
26: areturn
27: .line 429
StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 5 /* ite */
start local 5 // java.lang.reflect.InvocationTargetException ite
28: .line 430
aload 5 /* ite */
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
astore 6 /* te */
start local 6 // java.lang.Throwable te
29: .line 431
aload 6 /* te */
instanceof java.sql.SQLException
ifeq 31
30: .line 432
aload 0 /* this */
getfield org.postgresql.ds.PGPooledConnection$StatementHandler.this$0:Lorg/postgresql/ds/PGPooledConnection;
aload 6 /* te */
checkcast java.sql.SQLException
invokevirtual org.postgresql.ds.PGPooledConnection.fireConnectionError:(Ljava/sql/SQLException;)V
31: .line 434
StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
StackMap stack:
aload 6 /* te */
athrow
end local 6 // java.lang.Throwable te
end local 5 // java.lang.reflect.InvocationTargetException ite
end local 4 // java.lang.String methodName
end local 3 // java.lang.Object[] args
end local 2 // java.lang.reflect.Method method
end local 1 // java.lang.Object proxy
end local 0 // org.postgresql.ds.PGPooledConnection$StatementHandler this
LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/postgresql/ds/PGPooledConnection$StatementHandler;
0 32 1 proxy Ljava/lang/Object;
0 32 2 method Ljava/lang/reflect/Method;
0 32 3 args [Ljava/lang/Object;
1 32 4 methodName Ljava/lang/String;
18 21 5 oldSt Ljava/sql/Statement;
28 32 5 ite Ljava/lang/reflect/InvocationTargetException;
29 32 6 te Ljava/lang/Throwable;
Exception table:
from to target type
25 26 27 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws java.lang.Throwable
MethodParameters:
Name Flags
proxy
method
args
}
SourceFile: "PGPooledConnection.java"
NestHost: org.postgresql.ds.PGPooledConnection
InnerClasses:
private ConnectionHandler = org.postgresql.ds.PGPooledConnection$ConnectionHandler of org.postgresql.ds.PGPooledConnection
private StatementHandler = org.postgresql.ds.PGPooledConnection$StatementHandler of org.postgresql.ds.PGPooledConnection