Top Description Inners Fields Constructors Methods
jnr.ffi.provider.jffi

public Class VariableAccessorGenerator

extends Object
Class Inheritance
Imports
org.objectweb.asm.ClassReader, .ClassVisitor, .ClassWriter, java.io.PrintWriter, java.lang.annotation.Annotation, java.lang.reflect.Constructor, java.util.Collection, .Collections, .EnumMap, .Map, java.util.concurrent.atomic.AtomicLong, jnr.ffi.NativeType, .Pointer, .Variable, jnr.ffi.mapper.DefaultSignatureType, .FromNativeContext, .FromNativeConverter, .SignatureType, .SignatureTypeMapper, .ToNativeConverter

Generate global variable accessors

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private final AtomicLong
private static final VariableAccessorGenerator.PointerOp
pack-priv static final Map<NativeType, VariableAccessorGenerator.PointerOp>
private final Runtime

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
pack-priv Variable<T>
buildVariableAccessor(Runtime runtime, long address, Class<T> interfaceClass, Class<T> javaType, Collection<Annotation> annotations, ToNativeConverter<J, N> toNativeConverter, FromNativeConverter<J, N> fromNativeConverter, AsmClassLoader classLoader)

public void
generate(AsmBuilder builder, Class<T> interfaceClass, String variableName, long address, Class<T> javaType, Collection<Annotation> annotations, SignatureTypeMapper typeMapper, AsmClassLoader classLoader)

private static void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

nextClassIDback to summary
private final AtomicLong nextClassID
POINTER_OP_POINTERback to summary
private static final VariableAccessorGenerator.PointerOp POINTER_OP_POINTER
pointerOperationsback to summary
pack-priv static final Map<NativeType, VariableAccessorGenerator.PointerOp> pointerOperations
runtimeback to summary
private final Runtime runtime

Constructor Detail

VariableAccessorGeneratorback to summary
public VariableAccessorGenerator(Runtime runtime)

Method Detail

buildVariableAccessorback to summary
pack-priv Variable<T> buildVariableAccessor(Runtime runtime, long address, Class<T> interfaceClass, Class<T> javaType, Collection<Annotation> annotations, ToNativeConverter<J, N> toNativeConverter, FromNativeConverter<J, N> fromNativeConverter, AsmClassLoader classLoader)
generateback to summary
public void generate(AsmBuilder builder, Class<T> interfaceClass, String variableName, long address, Class<T> javaType, Collection<Annotation> annotations, SignatureTypeMapper typeMapper, AsmClassLoader classLoader)
opback to summary
private static void op(Map<NativeType, VariableAccessorGenerator.PointerOp> ops, NativeType type, String name, Class<T> nativeIntType)
jnr.ffi.provider.jffi back to summary

private final Class VariableAccessorGenerator.PointerOp

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final String
pack-priv final Class<T>
private final String

Constructor Summary

AccessConstructor and Description
private
PointerOp(String name, Class<T> nativeIntClass)

Method Summary

Modifier and TypeMethod and Description
pack-priv void
pack-priv void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

getMethodNameback to summary
private final String getMethodName
nativeIntClassback to summary
pack-priv final Class<T> nativeIntClass
putMethodNameback to summary
private final String putMethodName

Constructor Detail

PointerOpback to summary
private PointerOp(String name, Class<T> nativeIntClass)

Method Detail

getback to summary
pack-priv void get(SkinnyMethodAdapter mv)
putback to summary
pack-priv void put(SkinnyMethodAdapter mv)