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

pack-priv final Class BufferMethodGenerator

extends BaseMethodGenerator
Class Inheritance
Imports
com.kenai.jffi.CallContext, .HeapInvocationBuffer, .Invoker, .ObjectParameterStrategy, jnr.ffi.CallingConvention, .NativeType, jnr.ffi.provider.InvocationSession, .ParameterType, .ResultType, java.util.Collections, .EnumMap, .Map

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class
private abstract static class

Field Summary

Modifier and TypeField and Description
pack-priv static final Map<NativeType, BufferMethodGenerator.InvokeOp>
pack-priv static final Map<NativeType, BufferMethodGenerator.MarshalOp>

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
private static void
pack-priv void
generate(AsmBuilder builder, SkinnyMethodAdapter mv, LocalVariableAllocator localVariableAllocator, CallContext callContext, ResultType resultType, ParameterType[] parameterTypes, boolean ignoreError)

Implements abstract jnr.ffi.provider.jffi.BaseMethodGenerator.generate.

pack-priv void
generateBufferInvocation(final AsmBuilder builder, final SkinnyMethodAdapter mv, LocalVariableAllocator localVariableAllocator, CallContext callContext, final ResultType resultType, final ParameterType[] parameterTypes)

pack-priv static boolean
pack-priv static boolean
isSessionRequired(ParameterType[] parameterTypes)

public boolean
Inherited from jnr.ffi.provider.jffi.BaseMethodGenerator:
emitEpilogueemitPostInvokegenerateisPostInvokeRequiredloadAndConvertParameter

Field Detail

invokeOpsback to summary
pack-priv static final Map<NativeType, BufferMethodGenerator.InvokeOp> invokeOps
marshalOpsback to summary
pack-priv static final Map<NativeType, BufferMethodGenerator.MarshalOp> marshalOps

Constructor Detail

BufferMethodGeneratorback to summary
pack-priv BufferMethodGenerator()

Method Detail

emitPrimitiveOpback to summary
private static void emitPrimitiveOp(final SkinnyMethodAdapter mv, ParameterType parameterType, ToNativeOp op)
generateback to summary
pack-priv void generate(AsmBuilder builder, SkinnyMethodAdapter mv, LocalVariableAllocator localVariableAllocator, CallContext callContext, ResultType resultType, ParameterType[] parameterTypes, boolean ignoreError)

Implements abstract jnr.ffi.provider.jffi.BaseMethodGenerator.generate.

Annotations
@Override
generateBufferInvocationback to summary
pack-priv void generateBufferInvocation(final AsmBuilder builder, final SkinnyMethodAdapter mv, LocalVariableAllocator localVariableAllocator, CallContext callContext, final ResultType resultType, final ParameterType[] parameterTypes)
isSessionRequiredback to summary
pack-priv static boolean isSessionRequired(ParameterType parameterType)
isSessionRequiredback to summary
pack-priv static boolean isSessionRequired(ParameterType[] parameterTypes)
isSupportedback to summary
public boolean isSupported(ResultType resultType, ParameterType[] parameterTypes, CallingConvention callingConvention)

Implements jnr.ffi.provider.jffi.MethodGenerator.isSupported.

jnr.ffi.provider.jffi back to summary

private final Class BufferMethodGenerator.InvokeOp

extends Operation
Class Inheritance

Field Summary

Inherited from jnr.ffi.provider.jffi.BufferMethodGenerator.Operation:
methodNameprimitiveClass

Constructor Summary

AccessConstructor and Description
private
InvokeOp(String methodName, Class<T> primitiveClass)

Constructor Detail

InvokeOpback to summary
private InvokeOp(String methodName, Class<T> primitiveClass)
jnr.ffi.provider.jffi back to summary

private final Class BufferMethodGenerator.MarshalOp

extends Operation
Class Inheritance

Field Summary

Inherited from jnr.ffi.provider.jffi.BufferMethodGenerator.Operation:
methodNameprimitiveClass

Constructor Summary

AccessConstructor and Description
private
MarshalOp(String methodName, Class<T> primitiveClass)

Constructor Detail

MarshalOpback to summary
private MarshalOp(String methodName, Class<T> primitiveClass)
jnr.ffi.provider.jffi back to summary

private abstract Class BufferMethodGenerator.Operation

extends Object
Class Inheritance
Known Direct Subclasses
jnr.ffi.provider.jffi.BufferMethodGenerator.MarshalOp, jnr.ffi.provider.jffi.BufferMethodGenerator.InvokeOp

Field Summary

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

Constructor Summary

AccessConstructor and Description
private
Operation(String methodName, Class<T> primitiveClass)

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

methodNameback to summary
pack-priv final String methodName
primitiveClassback to summary
pack-priv final Class<T> primitiveClass

Constructor Detail

Operationback to summary
private Operation(String methodName, Class<T> primitiveClass)