final class com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session
super_class: java.lang.Object
{
private final com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$RaceControl rc;
descriptor: Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$RaceControl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final java.util.List<java.lang.String> messages;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
private final com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$BasicRemote remote;
descriptor: Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$BasicRemote;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean opened;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
void <init>(com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$RaceControl);
descriptor: (Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$RaceControl;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
getstatic com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest.MESSAGES_TO_BACKEND:[Ljava/lang/String;
arraylength
getstatic com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest.MESSAGES_TO_CLIENT:[Ljava/lang/String;
arraylength
iadd
invokespecial java.util.ArrayList.<init>:(I)V
invokestatic java.util.Collections.synchronizedList:(Ljava/util/List;)Ljava/util/List;
putfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session.messages:Ljava/util/List;
2: aload 0
new com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$BasicRemote
dup
aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session.messages:Ljava/util/List;
invokespecial com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$BasicRemote.<init>:(Ljava/util/List;)V
putfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session.remote:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$BasicRemote;
3: aload 0
iconst_1
putfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session.opened:Z
4: aload 0
aload 1
putfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session.rc:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$RaceControl;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session;
0 6 1 rc Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$RaceControl;
MethodParameters:
Name Flags
rc
com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$BasicRemote getBasicRemote();
descriptor: ()Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$BasicRemote;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session.remote:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$BasicRemote;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session;
public boolean isOpen();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session.opened:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session;
void addMessageHandler(com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session$MsgHandler);
descriptor: (Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session$MsgHandler;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session.remote:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$BasicRemote;
aload 1
putfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$BasicRemote.handler:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session$MsgHandler;
1: aload 0
aload 1
invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session.sendInitialMessages:(Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session$MsgHandler;)V
2: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session.rc:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$RaceControl;
ifnull 4
3: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session.rc:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$RaceControl;
invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$RaceControl.clientMessagesSent:()V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session;
0 5 1 handler Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session$MsgHandler;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
handler
private void sendInitialMessages(com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session$MsgHandler);
descriptor: (Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session$MsgHandler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session.opened:Z
ifeq 6
1: getstatic com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest.INITIAL_MESSAGES:[Ljava/lang/String;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session$MsgHandler top int int java.lang.String[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 1
aload 2
invokeinterface com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session$MsgHandler.onMessage:(Ljava/lang/String;)V
end local 2 4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: StackMap locals: com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session$MsgHandler
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session;
0 7 1 handler Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session$MsgHandler;
3 4 2 message Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
handler final
private void close();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session.opened:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session;
}
SourceFile: "InspectorMessageTransportTest.java"
NestHost: com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest
InnerClasses:
private final BasicRemote = com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$BasicRemote of com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest
private final RaceControl = com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$RaceControl of com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest
private final Session = com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session of com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest
abstract MsgHandler = com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session$MsgHandler of com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session