final class com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference implements java.io.Closeable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference
super_class: java.lang.Object
{
private final com.oracle.truffle.tck.tests.TestContext$ProxyOutputStream out;
descriptor: Lcom/oracle/truffle/tck/tests/TestContext$ProxyOutputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.tck.tests.TestContext$ProxyOutputStream err;
descriptor: Lcom/oracle/truffle/tck/tests/TestContext$ProxyOutputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.graalvm.polyglot.Context context;
descriptor: Lorg/graalvm/polyglot/Context;
flags: (0x0002) ACC_PRIVATE
private int refCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(org.graalvm.polyglot.Context, com.oracle.truffle.tck.tests.TestContext$ProxyOutputStream, com.oracle.truffle.tck.tests.TestContext$ProxyOutputStream);
descriptor: (Lorg/graalvm/polyglot/Context;Lcom/oracle/truffle/tck/tests/TestContext$ProxyOutputStream;Lcom/oracle/truffle/tck/tests/TestContext$ProxyOutputStream;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.context:Lorg/graalvm/polyglot/Context;
2: aload 0
iconst_1
putfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.refCount:I
3: aload 0
aload 2
putfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.out:Lcom/oracle/truffle/tck/tests/TestContext$ProxyOutputStream;
4: aload 0
aload 3
putfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.err:Lcom/oracle/truffle/tck/tests/TestContext$ProxyOutputStream;
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/tck/tests/TestContext$RefCountedContextReference;
0 6 1 context Lorg/graalvm/polyglot/Context;
0 6 2 out Lcom/oracle/truffle/tck/tests/TestContext$ProxyOutputStream;
0 6 3 err Lcom/oracle/truffle/tck/tests/TestContext$ProxyOutputStream;
MethodParameters:
Name Flags
context
out
err
com.oracle.truffle.tck.tests.TestContext$ProxyOutputStream out();
descriptor: ()Lcom/oracle/truffle/tck/tests/TestContext$ProxyOutputStream;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.out:Lcom/oracle/truffle/tck/tests/TestContext$ProxyOutputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/tck/tests/TestContext$RefCountedContextReference;
com.oracle.truffle.tck.tests.TestContext$ProxyOutputStream err();
descriptor: ()Lcom/oracle/truffle/tck/tests/TestContext$ProxyOutputStream;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.err:Lcom/oracle/truffle/tck/tests/TestContext$ProxyOutputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/tck/tests/TestContext$RefCountedContextReference;
org.graalvm.polyglot.Context retain();
descriptor: ()Lorg/graalvm/polyglot/Context;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.refCount:I
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Released reference"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.refCount:I
iconst_1
iadd
putfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.refCount:I
3: aload 0
getfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.context:Lorg/graalvm/polyglot/Context;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/tck/tests/TestContext$RefCountedContextReference;
boolean isValid();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.refCount:I
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/tck/tests/TestContext$RefCountedContextReference;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.refCount:I
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Released reference"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.refCount:I
iconst_1
isub
putfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.refCount:I
3: aload 0
getfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.refCount:I
ifne 5
4: aload 0
aconst_null
putfield com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference.context:Lorg/graalvm/polyglot/Context;
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/tck/tests/TestContext$RefCountedContextReference;
}
SourceFile: "TestContext.java"
NestHost: com.oracle.truffle.tck.tests.TestContext
InnerClasses:
private final ProxyOutputStream = com.oracle.truffle.tck.tests.TestContext$ProxyOutputStream of com.oracle.truffle.tck.tests.TestContext
private final RefCountedContextReference = com.oracle.truffle.tck.tests.TestContext$RefCountedContextReference of com.oracle.truffle.tck.tests.TestContext