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 voidaddStrategyParameterType(Map<Class<? extends com.kenai.jffi.ObjectParameterStrategy>, Method> map, Class<? extends com.kenai.jffi.ObjectParameterStrategy> strategyClass, Class parameterType) (package private) static intemitDirectCheck(SkinnyMethodAdapter mv, Class javaParameterClass, Class nativeIntType, LocalVariable parameter, LocalVariable objCount, int pointerCount) (package private) static voidemitParameterStrategyAddress(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) voidgenerate(AsmBuilder builder, SkinnyMethodAdapter mv, LocalVariableAllocator localVariableAllocator, com.kenai.jffi.CallContext callContext, ResultType resultType, ParameterType[] parameterTypes, boolean ignoreError) (package private) abstract StringgetInvokerMethodName(ResultType resultType, ParameterType[] parameterTypes, boolean ignoreErrno) (package private) abstract StringgetInvokerSignature(int parameterCount, Class nativeIntType) (package private) abstract Class(package private) static StringgetObjectParameterMethodName(int parameterCount) (package private) static StringgetObjectParameterMethodSignature(int parameterCount, int pointerCount) (package private) static booleanhasPointerParameterStrategy(Class javaType) Methods inherited from class BaseMethodGenerator
emitEpilogue, emitPostInvoke, generate, isPostInvokeRequired, loadAndConvertParameterMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface 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:
generatein 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
-