public class com.oracle.truffle.api.test.polyglot.MessageTransportTest extends com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.test.polyglot.MessageTransportTest
super_class: com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest
{
private final java.net.URI testUri;
descriptor: Ljava/net/URI;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$api$test$polyglot$MessageTransportTest$MessageKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.<init>:()V
1: aload 0
invokestatic com.oracle.truffle.api.test.polyglot.MessageTransportTest.createTestUri:()Ljava/net/URI;
putfield com.oracle.truffle.api.test.polyglot.MessageTransportTest.testUri:Ljava/net/URI;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest;
private static java.net.URI createTestUri();
descriptor: ()Ljava/net/URI;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=1, args_size=0
0: new java.net.URI
dup
ldc "http"
ldc "a"
ldc "/b"
ldc "c"
invokespecial java.net.URI.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
1: areturn
2: StackMap locals:
StackMap stack: java.net.URISyntaxException
astore 0
start local 0 3: new java.lang.RuntimeException
dup
aload 0
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
3 4 0 ex Ljava/net/URISyntaxException;
Exception table:
from to target type
0 1 2 Class java.net.URISyntaxException
public void defaultTransportTest();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest.setupEnv:()V
1: iconst_3
anewarray java.net.URI
dup
iconst_0
aload 0
getfield com.oracle.truffle.api.test.polyglot.MessageTransportTest.testUri:Ljava/net/URI;
aastore
dup
iconst_1
new java.net.URI
dup
ldc "ws"
ldc "a"
ldc "b"
invokespecial java.net.URI.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
aastore
dup
iconst_2
new java.net.URI
dup
ldc "file"
ldc "/a"
ldc ""
invokespecial java.net.URI.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
aastore
astore 1
start local 1 2: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: com.oracle.truffle.api.test.polyglot.MessageTransportTest java.net.URI[] top int int java.net.URI[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.api.test.polyglot.MessageTransportTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 2
new com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier
dup
invokespecial com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.<init>:()V
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.startServer:(Ljava/net/URI;Lorg/graalvm/polyglot/io/MessageEndpoint;)Lorg/graalvm/polyglot/io/MessageEndpoint;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
end local 2 5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 3
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest;
2 8 1 uris [Ljava/net/URI;
4 5 2 uri Ljava/net/URI;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void vetoedTransportTest();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: invokestatic org.graalvm.polyglot.Engine.newBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
new com.oracle.truffle.api.test.polyglot.MessageTransportTest$1
dup
aload 0
invokespecial com.oracle.truffle.api.test.polyglot.MessageTransportTest$1.<init>:(Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest;)V
invokevirtual org.graalvm.polyglot.Engine$Builder.serverTransport:(Lorg/graalvm/polyglot/io/MessageTransport;)Lorg/graalvm/polyglot/Engine$Builder;
1: invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
2: astore 1
start local 1 3: aload 0
iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest.setupEnv:(Lorg/graalvm/polyglot/Context;)V
4: aload 0
getfield com.oracle.truffle.api.test.polyglot.MessageTransportTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 0
getfield com.oracle.truffle.api.test.polyglot.MessageTransportTest.testUri:Ljava/net/URI;
new com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier
dup
invokespecial com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.<init>:()V
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.startServer:(Ljava/net/URI;Lorg/graalvm/polyglot/io/MessageEndpoint;)Lorg/graalvm/polyglot/io/MessageEndpoint;
pop
5: invokestatic org.junit.Assert.fail:()V
6: goto 9
StackMap locals: com.oracle.truffle.api.test.polyglot.MessageTransportTest org.graalvm.polyglot.Engine
StackMap stack: org.graalvm.polyglot.io.MessageTransport$VetoException
7: astore 2
start local 2 8: new java.lang.StringBuilder
dup
ldc "No access to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.api.test.polyglot.MessageTransportTest.testUri:Ljava/net/URI;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokevirtual org.graalvm.polyglot.io.MessageTransport$VetoException.getMessage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest;
3 10 1 engine Lorg/graalvm/polyglot/Engine;
8 9 2 ex Lorg/graalvm/polyglot/io/MessageTransport$VetoException;
Exception table:
from to target type
4 6 7 Class org.graalvm.polyglot.io.MessageTransport$VetoException
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void noTransportTest();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: invokestatic org.graalvm.polyglot.Engine.newBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
new com.oracle.truffle.api.test.polyglot.MessageTransportTest$2
dup
aload 0
invokespecial com.oracle.truffle.api.test.polyglot.MessageTransportTest$2.<init>:(Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest;)V
invokevirtual org.graalvm.polyglot.Engine$Builder.serverTransport:(Lorg/graalvm/polyglot/io/MessageTransport;)Lorg/graalvm/polyglot/Engine$Builder;
1: invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
2: astore 1
start local 1 3: aload 0
iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest.setupEnv:(Lorg/graalvm/polyglot/Context;)V
4: aload 0
getfield com.oracle.truffle.api.test.polyglot.MessageTransportTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 0
getfield com.oracle.truffle.api.test.polyglot.MessageTransportTest.testUri:Ljava/net/URI;
new com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier
dup
invokespecial com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.<init>:()V
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.startServer:(Ljava/net/URI;Lorg/graalvm/polyglot/io/MessageEndpoint;)Lorg/graalvm/polyglot/io/MessageEndpoint;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest;
3 6 1 engine Lorg/graalvm/polyglot/Engine;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void sharedEngineFails();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokedynamic open()Lorg/graalvm/polyglot/io/MessageTransport;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/net/URI;Lorg/graalvm/polyglot/io/MessageEndpoint;)Lorg/graalvm/polyglot/io/MessageEndpoint;
com/oracle/truffle/api/test/polyglot/MessageTransportTest.lambda$0(Ljava/net/URI;Lorg/graalvm/polyglot/io/MessageEndpoint;)Lorg/graalvm/polyglot/io/MessageEndpoint; (6)
(Ljava/net/URI;Lorg/graalvm/polyglot/io/MessageEndpoint;)Lorg/graalvm/polyglot/io/MessageEndpoint;
invokevirtual org.graalvm.polyglot.Context$Builder.serverTransport:(Lorg/graalvm/polyglot/io/MessageTransport;)Lorg/graalvm/polyglot/Context$Builder;
invokestatic org.graalvm.polyglot.Engine.create:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest;
RuntimeVisibleAnnotations:
org.junit.Test(expected = Ljava/lang/IllegalStateException;)
public void testMessages();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.values:()[Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 7
StackMap locals: com.oracle.truffle.api.test.polyglot.MessageTransportTest top int int com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
getstatic com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.CLOSE:Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
if_acmpne 5
3: aload 0
aload 1
iconst_2
anewarray java.lang.String
dup
iconst_0
aconst_null
aastore
dup
iconst_1
aconst_null
aastore
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest.testMessages:(Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;[Ljava/lang/String;)V
4: goto 6
5: StackMap locals: com.oracle.truffle.api.test.polyglot.MessageTransportTest com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind int int com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind[]
StackMap stack:
aload 0
aload 1
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "Hi From Client"
aastore
dup
iconst_1
ldc "Hi From Backend"
aastore
dup
iconst_2
ldc "Next From Client"
aastore
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest.testMessages:(Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;[Ljava/lang/String;)V
end local 1 6: StackMap locals: com.oracle.truffle.api.test.polyglot.MessageTransportTest top int int com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind[]
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 3
if_icmplt 1
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest;
2 6 1 kind Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
private void testMessages(com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind, java.lang.String[]);
descriptor: (Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;[Ljava/lang/String;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=8, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
anewarray org.graalvm.polyglot.io.MessageEndpoint
astore 3
start local 3 1: iconst_1
anewarray com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier
astore 4
start local 4 2: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
new com.oracle.truffle.api.test.polyglot.MessageTransportTest$3
dup
aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial com.oracle.truffle.api.test.polyglot.MessageTransportTest$3.<init>:(Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest;Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;[Ljava/lang/String;[Lorg/graalvm/polyglot/io/MessageEndpoint;[Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageHandlerVerifier;)V
invokevirtual org.graalvm.polyglot.Context$Builder.serverTransport:(Lorg/graalvm/polyglot/io/MessageTransport;)Lorg/graalvm/polyglot/Context$Builder;
3: invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
4: astore 5
start local 5 5: aload 0
aload 5
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest.setupEnv:(Lorg/graalvm/polyglot/Context;)V
6: new com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier
dup
invokespecial com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.<init>:()V
astore 6
start local 6 7: aload 6
aload 1
aload 2
iconst_0
aaload
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.setExpect:(Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;Ljava/lang/String;)V
8: aload 0
getfield com.oracle.truffle.api.test.polyglot.MessageTransportTest.instrumentEnv:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 0
getfield com.oracle.truffle.api.test.polyglot.MessageTransportTest.testUri:Ljava/net/URI;
aload 6
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.startServer:(Ljava/net/URI;Lorg/graalvm/polyglot/io/MessageEndpoint;)Lorg/graalvm/polyglot/io/MessageEndpoint;
astore 7
start local 7 9: aload 6
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.assertWasCalled:()V
10: aload 4
iconst_0
aaload
aload 1
aload 2
iconst_1
aaload
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.setExpect:(Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;Ljava/lang/String;)V
11: aload 1
aload 7
aload 2
iconst_1
aaload
invokestatic com.oracle.truffle.api.test.polyglot.MessageTransportTest.sendMessage:(Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;Lorg/graalvm/polyglot/io/MessageEndpoint;Ljava/lang/String;)V
12: aload 1
getstatic com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.CLOSE:Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
if_acmpeq 23
13: aload 4
iconst_0
aaload
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.assertWasCalled:()V
14: aload 6
aload 1
aload 2
iconst_2
aaload
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.setExpect:(Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;Ljava/lang/String;)V
15: aload 1
aload 3
iconst_0
aaload
aload 2
iconst_2
aaload
invokestatic com.oracle.truffle.api.test.polyglot.MessageTransportTest.sendMessage:(Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;Lorg/graalvm/polyglot/io/MessageEndpoint;Ljava/lang/String;)V
16: aload 6
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.assertWasCalled:()V
17: aload 4
iconst_0
aaload
getstatic com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.CLOSE:Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
aconst_null
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.setExpect:(Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;Ljava/lang/String;)V
18: aload 7
invokeinterface org.graalvm.polyglot.io.MessageEndpoint.sendClose:()V
19: aload 4
iconst_0
aaload
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.assertWasCalled:()V
20: aload 6
getstatic com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.CLOSE:Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
aconst_null
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.setExpect:(Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;Ljava/lang/String;)V
21: aload 3
iconst_0
aaload
invokeinterface org.graalvm.polyglot.io.MessageEndpoint.sendClose:()V
22: aload 6
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier.assertWasCalled:()V
23: StackMap locals: com.oracle.truffle.api.test.polyglot.MessageTransportTest com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind java.lang.String[] org.graalvm.polyglot.io.MessageEndpoint[] com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier[] org.graalvm.polyglot.Context com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier org.graalvm.polyglot.io.MessageEndpoint
StackMap stack:
aload 4
iconst_0
aaload
aload 7
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
24: aload 6
aload 3
iconst_0
aaload
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
25: return
end local 7 end local 6 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 26 0 this Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest;
0 26 1 kind Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
0 26 2 messages [Ljava/lang/String;
1 26 3 embedderPeerEndpoint [Lorg/graalvm/polyglot/io/MessageEndpoint;
2 26 4 embedderEndpoint [Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageHandlerVerifier;
5 26 5 cntx Lorg/graalvm/polyglot/Context;
7 26 6 instrumentEndpoint Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageHandlerVerifier;
9 26 7 instrumentPeerEndpoint Lorg/graalvm/polyglot/io/MessageEndpoint;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
kind
messages
private static void sendMessage(com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind, org.graalvm.polyglot.io.MessageEndpoint, java.lang.String);
descriptor: (Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;Lorg/graalvm/polyglot/io/MessageEndpoint;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.test.polyglot.MessageTransportTest.$SWITCH_TABLE$com$oracle$truffle$api$test$polyglot$MessageTransportTest$MessageKind:()[I
aload 0
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 1
2: 3
3: 5
4: 7
5: 9
default: 11
}
1: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface org.graalvm.polyglot.io.MessageEndpoint.sendText:(Ljava/lang/String;)V
2: goto 12
3: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.String.getBytes:()[B
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
invokeinterface org.graalvm.polyglot.io.MessageEndpoint.sendBinary:(Ljava/nio/ByteBuffer;)V
4: goto 12
5: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.String.getBytes:()[B
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
invokeinterface org.graalvm.polyglot.io.MessageEndpoint.sendPing:(Ljava/nio/ByteBuffer;)V
6: goto 12
7: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.String.getBytes:()[B
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
invokeinterface org.graalvm.polyglot.io.MessageEndpoint.sendPong:(Ljava/nio/ByteBuffer;)V
8: goto 12
9: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.graalvm.polyglot.io.MessageEndpoint.sendClose:()V
10: goto 12
11: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Unknown kind: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 kind Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
0 13 1 endpoint Lorg/graalvm/polyglot/io/MessageEndpoint;
0 13 2 message Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
kind
endpoint
message
static int[] $SWITCH_TABLE$com$oracle$truffle$api$test$polyglot$MessageTransportTest$MessageKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.api.test.polyglot.MessageTransportTest.$SWITCH_TABLE$com$oracle$truffle$api$test$polyglot$MessageTransportTest$MessageKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.values:()[Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.BINARY:Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.CLOSE:Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.ordinal:()I
iconst_5
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.PING:Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.PONG:Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.ordinal:()I
iconst_4
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.TEXT:Lcom/oracle/truffle/api/test/polyglot/MessageTransportTest$MessageKind;
invokevirtual com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic com.oracle.truffle.api.test.polyglot.MessageTransportTest.$SWITCH_TABLE$com$oracle$truffle$api$test$polyglot$MessageTransportTest$MessageKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
private static org.graalvm.polyglot.io.MessageEndpoint lambda$0(java.net.URI, org.graalvm.polyglot.io.MessageEndpoint);
descriptor: (Ljava/net/URI;Lorg/graalvm/polyglot/io/MessageEndpoint;)Lorg/graalvm/polyglot/io/MessageEndpoint;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 uri Ljava/net/URI;
0 1 1 peerEndpoint Lorg/graalvm/polyglot/io/MessageEndpoint;
Exceptions:
throws java.io.IOException, org.graalvm.polyglot.io.MessageTransport$VetoException
}
SourceFile: "MessageTransportTest.java"
NestMembers:
com.oracle.truffle.api.test.polyglot.MessageTransportTest$1 com.oracle.truffle.api.test.polyglot.MessageTransportTest$2 com.oracle.truffle.api.test.polyglot.MessageTransportTest$3 com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind
InnerClasses:
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
com.oracle.truffle.api.test.polyglot.MessageTransportTest$1
com.oracle.truffle.api.test.polyglot.MessageTransportTest$2
com.oracle.truffle.api.test.polyglot.MessageTransportTest$3
private MessageHandlerVerifier = com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageHandlerVerifier of com.oracle.truffle.api.test.polyglot.MessageTransportTest
private final MessageKind = com.oracle.truffle.api.test.polyglot.MessageTransportTest$MessageKind of com.oracle.truffle.api.test.polyglot.MessageTransportTest
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
public final Builder = org.graalvm.polyglot.Engine$Builder of org.graalvm.polyglot.Engine
public final VetoException = org.graalvm.polyglot.io.MessageTransport$VetoException of org.graalvm.polyglot.io.MessageTransport