public class org.jruby.ext.ffi.FFI
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.ext.ffi.FFI
super_class: java.lang.Object
{
public final org.jruby.RubyModule ffiModule;
descriptor: Lorg/jruby/RubyModule;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final org.jruby.RubyClass memoryClass;
descriptor: Lorg/jruby/RubyClass;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final org.jruby.RubyClass bufferClass;
descriptor: Lorg/jruby/RubyClass;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final org.jruby.RubyClass pointerClass;
descriptor: Lorg/jruby/RubyClass;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final org.jruby.RubyClass memptrClass;
descriptor: Lorg/jruby/RubyClass;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final org.jruby.RubyClass structClass;
descriptor: Lorg/jruby/RubyClass;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final org.jruby.RubyClass functionClass;
descriptor: Lorg/jruby/RubyClass;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final org.jruby.RubyClass callbackClass;
descriptor: Lorg/jruby/RubyClass;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final org.jruby.RubyClass typeClass;
descriptor: Lorg/jruby/RubyClass;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final org.jruby.RubyHash typedefs;
descriptor: Lorg/jruby/RubyHash;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final org.jruby.ext.ffi.Pointer nullPointer;
descriptor: Lorg/jruby/ext/ffi/Pointer;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private final org.jruby.ext.ffi.NullMemoryIO nullMemoryIO;
descriptor: Lorg/jruby/ext/ffi/NullMemoryIO;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jruby.ext.ffi.TypeResolver typeResolver;
descriptor: Lorg/jruby/ext/ffi/TypeResolver;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<org.jruby.internal.runtime.methods.DynamicMethod, org.jruby.ext.ffi.AbstractInvoker> refmap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/ext/ffi/AbstractInvoker;>;
public void <init>(org.jruby.RubyModule);
descriptor: (Lorg/jruby/RubyModule;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
putfield org.jruby.ext.ffi.FFI.refmap:Ljava/util/Map;
3: aload 0
aload 1
putfield org.jruby.ext.ffi.FFI.ffiModule:Lorg/jruby/RubyModule;
4: aload 0
aload 1
ldc "Buffer"
invokevirtual org.jruby.RubyModule.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
putfield org.jruby.ext.ffi.FFI.bufferClass:Lorg/jruby/RubyClass;
5: aload 0
aload 1
ldc "Pointer"
invokevirtual org.jruby.RubyModule.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
putfield org.jruby.ext.ffi.FFI.pointerClass:Lorg/jruby/RubyClass;
6: aload 0
aload 1
ldc "MemoryPointer"
invokevirtual org.jruby.RubyModule.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
putfield org.jruby.ext.ffi.FFI.memptrClass:Lorg/jruby/RubyClass;
7: aload 0
aload 1
ldc "AbstractMemory"
invokevirtual org.jruby.RubyModule.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
putfield org.jruby.ext.ffi.FFI.memoryClass:Lorg/jruby/RubyClass;
8: aload 0
aload 1
ldc "Struct"
invokevirtual org.jruby.RubyModule.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
putfield org.jruby.ext.ffi.FFI.structClass:Lorg/jruby/RubyClass;
9: aload 0
aload 1
ldc "Function"
invokevirtual org.jruby.RubyModule.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
putfield org.jruby.ext.ffi.FFI.functionClass:Lorg/jruby/RubyClass;
10: aload 0
aload 1
ldc "Callback"
invokevirtual org.jruby.RubyModule.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
putfield org.jruby.ext.ffi.FFI.callbackClass:Lorg/jruby/RubyClass;
11: aload 0
aload 1
ldc "Type"
invokevirtual org.jruby.RubyModule.getClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
putfield org.jruby.ext.ffi.FFI.typeClass:Lorg/jruby/RubyClass;
12: aload 0
aload 1
ldc "TypeDefs"
invokevirtual org.jruby.RubyModule.getConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyHash
putfield org.jruby.ext.ffi.FFI.typedefs:Lorg/jruby/RubyHash;
13: aload 0
new org.jruby.ext.ffi.TypeResolver
dup
aload 0
invokespecial org.jruby.ext.ffi.TypeResolver.<init>:(Lorg/jruby/ext/ffi/FFI;)V
putfield org.jruby.ext.ffi.FFI.typeResolver:Lorg/jruby/ext/ffi/TypeResolver;
14: aload 0
new org.jruby.ext.ffi.NullMemoryIO
dup
aload 1
invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
invokespecial org.jruby.ext.ffi.NullMemoryIO.<init>:(Lorg/jruby/Ruby;)V
putfield org.jruby.ext.ffi.FFI.nullMemoryIO:Lorg/jruby/ext/ffi/NullMemoryIO;
15: aload 0
aload 0
getfield org.jruby.ext.ffi.FFI.pointerClass:Lorg/jruby/RubyClass;
ldc "NULL"
invokevirtual org.jruby.RubyClass.getConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.ext.ffi.Pointer
putfield org.jruby.ext.ffi.FFI.nullPointer:Lorg/jruby/ext/ffi/Pointer;
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/jruby/ext/ffi/FFI;
0 17 1 ffiModule Lorg/jruby/RubyModule;
MethodParameters:
Name Flags
ffiModule
public final org.jruby.ext.ffi.TypeResolver getTypeResolver();
descriptor: ()Lorg/jruby/ext/ffi/TypeResolver;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.ffi.FFI.typeResolver:Lorg/jruby/ext/ffi/TypeResolver;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/ffi/FFI;
public org.jruby.ext.ffi.NullMemoryIO getNullMemoryIO();
descriptor: ()Lorg/jruby/ext/ffi/NullMemoryIO;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.ffi.FFI.nullMemoryIO:Lorg/jruby/ext/ffi/NullMemoryIO;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/ffi/FFI;
public void registerAttachedMethod(org.jruby.internal.runtime.methods.DynamicMethod, org.jruby.ext.ffi.AbstractInvoker);
descriptor: (Lorg/jruby/internal/runtime/methods/DynamicMethod;Lorg/jruby/ext/ffi/AbstractInvoker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.ext.ffi.FFI.refmap:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/ffi/FFI;
0 2 1 method Lorg/jruby/internal/runtime/methods/DynamicMethod;
0 2 2 invoker Lorg/jruby/ext/ffi/AbstractInvoker;
MethodParameters:
Name Flags
method
invoker
}
SourceFile: "FFI.java"