final class org.apache.commons.io.input.ByteBufferCleaner$Java9Cleaner extends java.lang.Object implements org.apache.commons.io.input.ByteBufferCleaner$Cleaner
{
private final java.lang.Object theUnsafe;
private final java.lang.reflect.Method invokeCleaner;
private void <init>() throws java.lang.ReflectiveOperationException, java.lang.SecurityException
{
org.apache.commons.io.input.ByteBufferCleaner$Java9Cleaner v;
java.lang.Class[] v;
java.lang.Class v;
java.lang.Object v;
java.lang.reflect.Field v;
java.lang.reflect.Method v;
v := @this: org.apache.commons.io.input.ByteBufferCleaner$Java9Cleaner;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>("sun.misc.Unsafe");
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field getDeclaredField(java.lang.String)>("theUnsafe");
virtualinvoke v.<java.lang.reflect.Field: void setAccessible(boolean)>(1);
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Object get(java.lang.Object)>(null);
v.<org.apache.commons.io.input.ByteBufferCleaner$Java9Cleaner: java.lang.Object theUnsafe> = v;
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/nio/ByteBuffer;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("invokeCleaner", v);
v.<org.apache.commons.io.input.ByteBufferCleaner$Java9Cleaner: java.lang.reflect.Method invokeCleaner> = v;
return;
}
public void clean(java.nio.ByteBuffer) throws java.lang.ReflectiveOperationException
{
org.apache.commons.io.input.ByteBufferCleaner$Java9Cleaner v;
java.lang.Object[] v;
java.lang.Object v;
java.lang.reflect.Method v;
java.nio.ByteBuffer v;
v := @this: org.apache.commons.io.input.ByteBufferCleaner$Java9Cleaner;
v := @parameter: java.nio.ByteBuffer;
v = v.<org.apache.commons.io.input.ByteBufferCleaner$Java9Cleaner: java.lang.reflect.Method invokeCleaner>;
v = v.<org.apache.commons.io.input.ByteBufferCleaner$Java9Cleaner: java.lang.Object theUnsafe>;
v = newarray (java.lang.Object)[1];
v[0] = v;
virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
return;
}
}