Package jnr.ffi.provider.jffi
Class BufferMethodGenerator
java.lang.Object
jnr.ffi.provider.jffi.BaseMethodGenerator
jnr.ffi.provider.jffi.BufferMethodGenerator
- All Implemented Interfaces:
MethodGenerator
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
private static final class
private static class
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final Map
<NativeType, BufferMethodGenerator.InvokeOp> (package private) static final Map
<NativeType, BufferMethodGenerator.MarshalOp> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
emitPrimitiveOp
(SkinnyMethodAdapter mv, ParameterType parameterType, ToNativeOp op) (package private) void
generate
(AsmBuilder builder, SkinnyMethodAdapter mv, LocalVariableAllocator localVariableAllocator, com.kenai.jffi.CallContext callContext, ResultType resultType, ParameterType[] parameterTypes, boolean ignoreError) (package private) void
generateBufferInvocation
(AsmBuilder builder, SkinnyMethodAdapter mv, LocalVariableAllocator localVariableAllocator, com.kenai.jffi.CallContext callContext, ResultType resultType, ParameterType[] parameterTypes) (package private) static boolean
isSessionRequired
(ParameterType parameterType) (package private) static boolean
isSessionRequired
(ParameterType[] parameterTypes) boolean
isSupported
(ResultType resultType, ParameterType[] parameterTypes, CallingConvention callingConvention) Methods inherited from class jnr.ffi.provider.jffi.BaseMethodGenerator
emitEpilogue, emitPostInvoke, generate, isPostInvokeRequired, loadAndConvertParameter
-
Field Details
-
marshalOps
-
invokeOps
-
-
Constructor Details
-
BufferMethodGenerator
BufferMethodGenerator()
-
-
Method Details
-
generate
void generate(AsmBuilder builder, SkinnyMethodAdapter mv, LocalVariableAllocator localVariableAllocator, com.kenai.jffi.CallContext callContext, ResultType resultType, ParameterType[] parameterTypes, boolean ignoreError) - Specified by:
generate
in classBaseMethodGenerator
-
isSupported
public boolean isSupported(ResultType resultType, ParameterType[] parameterTypes, CallingConvention callingConvention) -
emitPrimitiveOp
private static void emitPrimitiveOp(SkinnyMethodAdapter mv, ParameterType parameterType, ToNativeOp op) -
isSessionRequired
-
isSessionRequired
-
generateBufferInvocation
void generateBufferInvocation(AsmBuilder builder, SkinnyMethodAdapter mv, LocalVariableAllocator localVariableAllocator, com.kenai.jffi.CallContext callContext, ResultType resultType, ParameterType[] parameterTypes)
-