public abstract class org.graalvm.tools.lsp.test.server.TruffleLSPTest
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.tools.lsp.test.server.TruffleLSPTest
super_class: java.lang.Object
{
protected static final java.lang.String PROG_OBJ;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "function main() {\n abc();\n x = abc();\n}\n\nfunction abc() {\n obj = new();\n obj.p = 1;\n return obj;\n}\n"
protected static final java.lang.String PROG_OBJ_NOT_CALLED;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "function main() {\n x = abc();\n return x;\n}\n\nfunction abc() {\n obj = new();\n obj.p = 1;\n return obj;\n}\n\nfunction notCalled() {\n abc();\n return abc();\n}\n"
protected org.graalvm.polyglot.Engine engine;
descriptor: Lorg/graalvm/polyglot/Engine;
flags: (0x0004) ACC_PROTECTED
protected org.graalvm.tools.lsp.server.TruffleAdapter truffleAdapter;
descriptor: Lorg/graalvm/tools/lsp/server/TruffleAdapter;
flags: (0x0004) ACC_PROTECTED
protected org.graalvm.polyglot.Context context;
descriptor: Lorg/graalvm/polyglot/Context;
flags: (0x0004) ACC_PROTECTED
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/tools/lsp/test/server/TruffleLSPTest;
public void setup();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.polyglot.Engine.newBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Engine$Builder.allowExperimentalOptions:(Z)Lorg/graalvm/polyglot/Engine$Builder;
invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
putfield org.graalvm.tools.lsp.test.server.TruffleLSPTest.engine:Lorg/graalvm/polyglot/Engine;
1: aload 0
getfield org.graalvm.tools.lsp.test.server.TruffleLSPTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "lsp"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
astore 1
start local 1 2: aload 1
ldc Lorg/graalvm/tools/lsp/instrument/EnvironmentProvider;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.tools.lsp.instrument.EnvironmentProvider
astore 2
start local 2 3: aload 0
new org.graalvm.tools.lsp.server.TruffleAdapter
dup
aload 2
invokeinterface org.graalvm.tools.lsp.instrument.EnvironmentProvider.getEnvironment:()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
iconst_1
invokespecial org.graalvm.tools.lsp.server.TruffleAdapter.<init>:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;Z)V
putfield org.graalvm.tools.lsp.test.server.TruffleLSPTest.truffleAdapter:Lorg/graalvm/tools/lsp/server/TruffleAdapter;
4: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
astore 3
start local 3 5: aload 3
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
pop
6: aload 3
aload 0
getfield org.graalvm.tools.lsp.test.server.TruffleLSPTest.truffleAdapter:Lorg/graalvm/tools/lsp/server/TruffleAdapter;
invokestatic org.graalvm.tools.lsp.server.LSPFileSystem.newReadOnlyFileSystem:(Lorg/graalvm/tools/lsp/server/VirtualLanguageServerFileProvider;)Lorg/graalvm/polyglot/io/FileSystem;
invokevirtual org.graalvm.polyglot.Context$Builder.fileSystem:(Lorg/graalvm/polyglot/io/FileSystem;)Lorg/graalvm/polyglot/Context$Builder;
pop
7: aload 3
aload 0
getfield org.graalvm.tools.lsp.test.server.TruffleLSPTest.engine:Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
pop
8: aload 0
aload 3
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
putfield org.graalvm.tools.lsp.test.server.TruffleLSPTest.context:Lorg/graalvm/polyglot/Context;
9: aload 0
getfield org.graalvm.tools.lsp.test.server.TruffleLSPTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.enter:()V
10: new org.graalvm.tools.lsp.test.server.TruffleLSPTest$1
dup
aload 0
aload 3
invokespecial org.graalvm.tools.lsp.test.server.TruffleLSPTest$1.<init>:(Lorg/graalvm/tools/lsp/test/server/TruffleLSPTest;Lorg/graalvm/polyglot/Context$Builder;)V
astore 4
start local 4 11: aload 0
getfield org.graalvm.tools.lsp.test.server.TruffleLSPTest.truffleAdapter:Lorg/graalvm/tools/lsp/server/TruffleAdapter;
aload 2
invokeinterface org.graalvm.tools.lsp.instrument.EnvironmentProvider.getEnvironment:()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 4
invokevirtual org.graalvm.tools.lsp.server.TruffleAdapter.register:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;Lorg/graalvm/tools/lsp/server/ContextAwareExecutor;)V
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/tools/lsp/test/server/TruffleLSPTest;
2 13 1 instrument Lorg/graalvm/polyglot/Instrument;
3 13 2 envProvider Lorg/graalvm/tools/lsp/instrument/EnvironmentProvider;
5 13 3 contextBuilder Lorg/graalvm/polyglot/Context$Builder;
11 13 4 executorWrapper Lorg/graalvm/tools/lsp/server/ContextAwareExecutor;
RuntimeVisibleAnnotations:
org.junit.Before()
public void tearDown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.tools.lsp.test.server.TruffleLSPTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.leave:()V
1: aload 0
getfield org.graalvm.tools.lsp.test.server.TruffleLSPTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/tools/lsp/test/server/TruffleLSPTest;
RuntimeVisibleAnnotations:
org.junit.After()
public java.net.URI createDummyFileUriForSL();
descriptor: ()Ljava/net/URI;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: ldc "truffle-lsp-test-file-"
ldc ".sl"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 1
start local 1 1: aload 1
invokevirtual java.io.File.deleteOnExit:()V
2: aload 1
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
3: areturn
end local 1 4: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 5: new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/tools/lsp/test/server/TruffleLSPTest;
1 4 1 dummy Ljava/io/File;
5 6 1 e Ljava/io/IOException;
Exception table:
from to target type
0 3 4 Class java.io.IOException
protected org.graalvm.tools.lsp.exceptions.DiagnosticsNotification getDiagnosticsNotification(java.util.concurrent.ExecutionException);
descriptor: (Ljava/util/concurrent/ExecutionException;)Lorg/graalvm/tools/lsp/exceptions/DiagnosticsNotification;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
instanceof org.graalvm.tools.lsp.exceptions.DiagnosticsNotification
ifeq 2
1: aload 1
invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
checkcast org.graalvm.tools.lsp.exceptions.DiagnosticsNotification
areturn
2: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/tools/lsp/test/server/TruffleLSPTest;
0 3 1 e Ljava/util/concurrent/ExecutionException;
MethodParameters:
Name Flags
e
protected boolean rangeCheck(org.graalvm.tools.lsp.server.types.Range, org.graalvm.tools.lsp.server.types.Range);
descriptor: (Lorg/graalvm/tools/lsp/server/types/Range;Lorg/graalvm/tools/lsp/server/types/Range;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.graalvm.tools.lsp.server.types.Range.getStart:()Lorg/graalvm/tools/lsp/server/types/Position;
invokevirtual org.graalvm.tools.lsp.server.types.Position.getLine:()I
aload 1
invokevirtual org.graalvm.tools.lsp.server.types.Range.getStart:()Lorg/graalvm/tools/lsp/server/types/Position;
invokevirtual org.graalvm.tools.lsp.server.types.Position.getCharacter:()I
aload 1
invokevirtual org.graalvm.tools.lsp.server.types.Range.getEnd:()Lorg/graalvm/tools/lsp/server/types/Position;
invokevirtual org.graalvm.tools.lsp.server.types.Position.getLine:()I
aload 1
invokevirtual org.graalvm.tools.lsp.server.types.Range.getEnd:()Lorg/graalvm/tools/lsp/server/types/Position;
invokevirtual org.graalvm.tools.lsp.server.types.Position.getCharacter:()I
aload 2
invokevirtual org.graalvm.tools.lsp.test.server.TruffleLSPTest.rangeCheck:(IIIILorg/graalvm/tools/lsp/server/types/Range;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/tools/lsp/test/server/TruffleLSPTest;
0 1 1 orig Lorg/graalvm/tools/lsp/server/types/Range;
0 1 2 range Lorg/graalvm/tools/lsp/server/types/Range;
MethodParameters:
Name Flags
orig
range
protected boolean rangeCheck(int, int, int, int, org.graalvm.tools.lsp.server.types.Range);
descriptor: (IIIILorg/graalvm/tools/lsp/server/types/Range;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 1
aload 5
invokevirtual org.graalvm.tools.lsp.server.types.Range.getStart:()Lorg/graalvm/tools/lsp/server/types/Position;
invokevirtual org.graalvm.tools.lsp.server.types.Position.getLine:()I
if_icmpne 1
iload 2
aload 5
invokevirtual org.graalvm.tools.lsp.server.types.Range.getStart:()Lorg/graalvm/tools/lsp/server/types/Position;
invokevirtual org.graalvm.tools.lsp.server.types.Position.getCharacter:()I
if_icmpne 1
iload 3
aload 5
invokevirtual org.graalvm.tools.lsp.server.types.Range.getEnd:()Lorg/graalvm/tools/lsp/server/types/Position;
invokevirtual org.graalvm.tools.lsp.server.types.Position.getLine:()I
if_icmpne 1
iload 4
aload 5
invokevirtual org.graalvm.tools.lsp.server.types.Range.getEnd:()Lorg/graalvm/tools/lsp/server/types/Position;
invokevirtual org.graalvm.tools.lsp.server.types.Position.getCharacter:()I
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
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 2 0 this Lorg/graalvm/tools/lsp/test/server/TruffleLSPTest;
0 2 1 startLine I
0 2 2 startColumn I
0 2 3 endLine I
0 2 4 endColumn I
0 2 5 range Lorg/graalvm/tools/lsp/server/types/Range;
MethodParameters:
Name Flags
startLine
startColumn
endLine
endColumn
range
}
SourceFile: "TruffleLSPTest.java"
NestMembers:
org.graalvm.tools.lsp.test.server.TruffleLSPTest$1
InnerClasses:
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
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
org.graalvm.tools.lsp.test.server.TruffleLSPTest$1