final class com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport implements org.graalvm.polyglot.io.MessageTransport
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport
super_class: java.lang.Object
{
private final com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session session;
descriptor: Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint this$1;
descriptor: Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint, com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$Session);
descriptor: (Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint;Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport.this$1:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport.session:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport;
0 3 2 session Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session;
MethodParameters:
Name Flags
this$0 final
session
public org.graalvm.polyglot.io.MessageEndpoint open(java.net.URI, org.graalvm.polyglot.io.MessageEndpoint);
descriptor: (Ljava/net/URI;Lorg/graalvm/polyglot/io/MessageEndpoint;)Lorg/graalvm/polyglot/io/MessageEndpoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: ldc "Invalid protocol"
ldc "ws"
aload 1
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport.this$1:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint;
aload 2
putfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint.peer:Lorg/graalvm/polyglot/io/MessageEndpoint;
2: aload 1
invokevirtual java.net.URI.toString:()Ljava/lang/String;
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport.this$1:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint;
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint.path:Ljava/lang/String;
ifnonnull 6
4: aload 3
getstatic com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest.URI_PATTERN:Ljava/util/regex/Pattern;
aload 3
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
5: goto 11
6: StackMap locals: java.lang.String
StackMap stack:
aload 3
aload 3
ldc "ws://"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
7: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport.this$1:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint;
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint.path:Ljava/lang/String;
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 8
aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport.this$1:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint;
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint.path:Ljava/lang/String;
goto 9
StackMap locals:
StackMap stack:
8: new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport.this$1:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint;
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint.path:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
9: astore 4
start local 4 10: aload 3
aload 3
new java.lang.StringBuilder
dup
ldc ":54367"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 4 11: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 12: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport.this$1:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint;
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint.openCountLimit:I
ifne 16
13: iconst_1
istore 4
14: aload 2
invokeinterface org.graalvm.polyglot.io.MessageEndpoint.sendClose:()V
15: goto 18
StackMap locals: int
StackMap stack:
16: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport.this$1:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint;
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint.openCountLimit:I
ifle 18
17: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport.this$1:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint;
dup
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint.openCountLimit:I
iconst_1
isub
putfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint.openCountLimit:I
18: StackMap locals:
StackMap stack:
new com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$ChromeDebuggingProtocolMessageHandler
dup
aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport.session:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session;
aload 1
aload 2
iload 4
invokespecial com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$ChromeDebuggingProtocolMessageHandler.<init>:(Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$Session;Ljava/net/URI;Lorg/graalvm/polyglot/io/MessageEndpoint;Z)V
astore 5
start local 5 19: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport.this$1:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint;
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint.rc:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$RaceControl;
ifnull 21
20: aload 0
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport.this$1:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint;
getfield com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint.rc:Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$RaceControl;
invokevirtual com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$RaceControl.waitTillClientDataAreSent:()V
21: StackMap locals: org.graalvm.polyglot.io.MessageEndpoint
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/tools/chromeinspector/test/InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport;
0 22 1 requestURI Ljava/net/URI;
0 22 2 peerEndpoint Lorg/graalvm/polyglot/io/MessageEndpoint;
3 22 3 uriStr Ljava/lang/String;
10 11 4 absolutePath Ljava/lang/String;
12 22 4 closed Z
19 22 5 ourEndpoint Lorg/graalvm/polyglot/io/MessageEndpoint;
Exceptions:
throws java.io.IOException, org.graalvm.polyglot.io.MessageTransport$VetoException
MethodParameters:
Name Flags
requestURI
peerEndpoint
}
SourceFile: "InspectorMessageTransportTest.java"
NestHost: com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest
InnerClasses:
private final ChromeDebuggingProtocolMessageHandler = com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$ChromeDebuggingProtocolMessageHandler of com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest
private final DebuggerEndpoint = com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint of com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest
private final EndpointMessageTransport = com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint$EndpointMessageTransport of com.oracle.truffle.tools.chromeinspector.test.InspectorMessageTransportTest$DebuggerEndpoint
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
public final VetoException = org.graalvm.polyglot.io.MessageTransport$VetoException of org.graalvm.polyglot.io.MessageTransport