Package jnr.ffi.provider.jffi
Class AbstractFastNumericMethodGenerator
java.lang.Object
jnr.ffi.provider.jffi.BaseMethodGenerator
jnr.ffi.provider.jffi.AbstractFastNumericMethodGenerator
- All Implemented Interfaces:
MethodGenerator
- Direct Known Subclasses:
FastIntMethodGenerator
,FastLongMethodGenerator
,FastNumericMethodGenerator
-
Field Summary
FieldsModifier and TypeFieldDescription -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
addStrategyParameterType
(Map<Class<? extends com.kenai.jffi.ObjectParameterStrategy>, Method> map, Class<? extends com.kenai.jffi.ObjectParameterStrategy> strategyClass, Class parameterType) (package private) static int
emitDirectCheck
(SkinnyMethodAdapter mv, Class javaParameterClass, Class nativeIntType, LocalVariable parameter, LocalVariable objCount, int pointerCount) (package private) static void
emitParameterStrategyAddress
(SkinnyMethodAdapter mv, Class nativeIntType, Class<? extends com.kenai.jffi.ObjectParameterStrategy> strategyClass, LocalVariable strategy, LocalVariable parameter) (package private) static Class
<? extends com.kenai.jffi.ObjectParameterStrategy> emitParameterStrategyLookup
(SkinnyMethodAdapter mv, Class javaParameterType) void
generate
(AsmBuilder builder, SkinnyMethodAdapter mv, LocalVariableAllocator localVariableAllocator, com.kenai.jffi.CallContext callContext, ResultType resultType, ParameterType[] parameterTypes, boolean ignoreError) (package private) abstract String
getInvokerMethodName
(ResultType resultType, ParameterType[] parameterTypes, boolean ignoreErrno) (package private) abstract String
getInvokerSignature
(int parameterCount, Class nativeIntType) (package private) abstract Class
(package private) static String
getObjectParameterMethodName
(int parameterCount) (package private) static String
getObjectParameterMethodSignature
(int parameterCount, int pointerCount) (package private) static boolean
hasPointerParameterStrategy
(Class javaType) Methods inherited from class jnr.ffi.provider.jffi.BaseMethodGenerator
emitEpilogue, emitPostInvoke, generate, isPostInvokeRequired, loadAndConvertParameter
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface jnr.ffi.provider.jffi.MethodGenerator
isSupported
-
Field Details
-
STRATEGY_ADDRESS_METHODS
-
STRATEGY_PARAMETER_TYPES
-
-
Constructor Details
-
AbstractFastNumericMethodGenerator
AbstractFastNumericMethodGenerator()
-
-
Method Details
-
generate
public void generate(AsmBuilder builder, SkinnyMethodAdapter mv, LocalVariableAllocator localVariableAllocator, com.kenai.jffi.CallContext callContext, ResultType resultType, ParameterType[] parameterTypes, boolean ignoreError) - Specified by:
generate
in classBaseMethodGenerator
-
addStrategyParameterType
-
hasPointerParameterStrategy
-
emitParameterStrategyLookup
static Class<? extends com.kenai.jffi.ObjectParameterStrategy> emitParameterStrategyLookup(SkinnyMethodAdapter mv, Class javaParameterType) -
emitParameterStrategyAddress
static void emitParameterStrategyAddress(SkinnyMethodAdapter mv, Class nativeIntType, Class<? extends com.kenai.jffi.ObjectParameterStrategy> strategyClass, LocalVariable strategy, LocalVariable parameter) -
emitDirectCheck
static int emitDirectCheck(SkinnyMethodAdapter mv, Class javaParameterClass, Class nativeIntType, LocalVariable parameter, LocalVariable objCount, int pointerCount) -
getObjectParameterMethodName
-
getObjectParameterMethodSignature
-
getInvokerMethodName
abstract String getInvokerMethodName(ResultType resultType, ParameterType[] parameterTypes, boolean ignoreErrno) -
getInvokerSignature
-
getInvokerType
-