class com.oracle.truffle.api.library.test.examples.TaintTrackingExample$TaintWrapper
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.library.test.examples.TaintTrackingExample$TaintWrapper
super_class: java.lang.Object
{
final java.lang.Object delegate;
descriptor: Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
void <init>(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=2, 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.api.library.test.examples.TaintTrackingExample$TaintWrapper.delegate:Ljava/lang/Object;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/library/test/examples/TaintTrackingExample$TaintWrapper;
0 3 1 delegate Ljava/lang/Object;
MethodParameters:
Name Flags
delegate
final boolean isTainted();
descriptor: ()Z
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/library/test/examples/TaintTrackingExample$TaintWrapper;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
final java.lang.Object send(com.oracle.truffle.api.library.Message, java.lang.Object[], com.oracle.truffle.api.library.ReflectionLibrary, com.oracle.truffle.api.library.test.examples.TaintTrackingExample$TaintLibrary);
descriptor: (Lcom/oracle/truffle/api/library/Message;[Ljava/lang/Object;Lcom/oracle/truffle/api/library/ReflectionLibrary;Lcom/oracle/truffle/api/library/test/examples/TaintTrackingExample$TaintLibrary;)Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
aload 0
getfield com.oracle.truffle.api.library.test.examples.TaintTrackingExample$TaintWrapper.delegate:Ljava/lang/Object;
aload 1
aload 2
invokevirtual com.oracle.truffle.api.library.ReflectionLibrary.send:(Ljava/lang/Object;Lcom/oracle/truffle/api/library/Message;[Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 1: aload 4
aload 5
invokevirtual com.oracle.truffle.api.library.test.examples.TaintTrackingExample$TaintLibrary.isTainted:(Ljava/lang/Object;)Z
ifne 3
2: new com.oracle.truffle.api.library.test.examples.TaintTrackingExample$TaintWrapper
dup
aload 5
invokespecial com.oracle.truffle.api.library.test.examples.TaintTrackingExample$TaintWrapper.<init>:(Ljava/lang/Object;)V
astore 5
3: StackMap locals: java.lang.Object
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 4 0 this Lcom/oracle/truffle/api/library/test/examples/TaintTrackingExample$TaintWrapper;
0 4 1 message Lcom/oracle/truffle/api/library/Message;
0 4 2 args [Ljava/lang/Object;
0 4 3 reflection Lcom/oracle/truffle/api/library/ReflectionLibrary;
0 4 4 results Lcom/oracle/truffle/api/library/test/examples/TaintTrackingExample$TaintLibrary;
1 4 5 result Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.library.CachedLibrary(value = "this.delegate")
3:
com.oracle.truffle.api.library.CachedLibrary(limit = "1")
MethodParameters:
Name Flags
message
args
reflection
results
}
SourceFile: "TaintTrackingExample.java"
NestHost: com.oracle.truffle.api.library.test.examples.TaintTrackingExample
InnerClasses:
public abstract Repeat = com.oracle.truffle.api.library.ExportLibrary$Repeat of com.oracle.truffle.api.library.ExportLibrary
abstract TaintLibrary = com.oracle.truffle.api.library.test.examples.TaintTrackingExample$TaintLibrary of com.oracle.truffle.api.library.test.examples.TaintTrackingExample
TaintWrapper = com.oracle.truffle.api.library.test.examples.TaintTrackingExample$TaintWrapper of com.oracle.truffle.api.library.test.examples.TaintTrackingExample
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportLibrary$Repeat(value = {com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/library/test/examples/TaintTrackingExample$TaintLibrary;), com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/library/ReflectionLibrary;)})