final class com.oracle.truffle.tools.agentscript.impl.RootNameFilter implements java.util.function.Predicate<java.lang.String>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.tools.agentscript.impl.RootNameFilter
super_class: java.lang.Object
{
private final java.lang.Object fn;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.ThreadLocal<java.lang.Boolean> querying;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/Boolean;>;
private final java.util.Map<java.lang.String, java.lang.Boolean> cache;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Boolean;>;
void <init>(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.tools.agentscript.impl.RootNameFilter.fn:Ljava/lang/Object;
2: aload 0
new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putfield com.oracle.truffle.tools.agentscript.impl.RootNameFilter.querying:Ljava/lang/ThreadLocal;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
putfield com.oracle.truffle.tools.agentscript.impl.RootNameFilter.cache:Ljava/util/Map;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/tools/agentscript/impl/RootNameFilter;
0 5 1 fn Ljava/lang/Object;
MethodParameters:
Name Flags
fn
public boolean test(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.agentscript.impl.RootNameFilter.cache:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 2
start local 2 3: aload 2
ifnull 5
4: aload 2
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
5: StackMap locals: java.lang.Boolean
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.agentscript.impl.RootNameFilter.querying:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.Boolean
astore 3
start local 3 6: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 3
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 9
7: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 2
8: goto 20
9: StackMap locals: java.lang.Boolean
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.agentscript.impl.RootNameFilter.querying:Ljava/lang/ThreadLocal;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
10: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 4
start local 4 11: aload 4
aload 0
getfield com.oracle.truffle.tools.agentscript.impl.RootNameFilter.fn:Ljava/lang/Object;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 12: aload 5
checkcast java.lang.Boolean
astore 2
end local 5 end local 4 13: goto 20
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.InteropException
14: pop
15: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 2
16: aload 0
getfield com.oracle.truffle.tools.agentscript.impl.RootNameFilter.querying:Ljava/lang/ThreadLocal;
aload 3
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
goto 21
17: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
18: aload 0
getfield com.oracle.truffle.tools.agentscript.impl.RootNameFilter.querying:Ljava/lang/ThreadLocal;
aload 3
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
19: aload 6
athrow
20: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.agentscript.impl.RootNameFilter.querying:Ljava/lang/ThreadLocal;
aload 3
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
21: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.agentscript.impl.RootNameFilter.cache:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: aload 2
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/tools/agentscript/impl/RootNameFilter;
0 23 1 rootName Ljava/lang/String;
3 23 2 computed Ljava/lang/Boolean;
6 23 3 prev Ljava/lang/Boolean;
11 13 4 iop Lcom/oracle/truffle/api/interop/InteropLibrary;
12 13 5 res Ljava/lang/Object;
Exception table:
from to target type
6 13 14 Class com.oracle.truffle.api.interop.UnsupportedMessageException
6 13 14 Class com.oracle.truffle.api.interop.UnsupportedTypeException
6 13 14 Class com.oracle.truffle.api.interop.ArityException
6 16 17 any
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
rootName
public boolean test(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.String
invokevirtual com.oracle.truffle.tools.agentscript.impl.RootNameFilter.test:(Ljava/lang/String;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/util/function/Predicate<Ljava/lang/String;>;
SourceFile: "RootNameFilter.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives