Top Fields Constructors Methods
jnr.ffi.provider.jffi

pack-priv abstract Class AbstractFastNumericMethodGenerator

extends BaseMethodGenerator
Class Inheritance
Known Direct Subclasses
jnr.ffi.provider.jffi.FastIntMethodGenerator, jnr.ffi.provider.jffi.FastLongMethodGenerator, jnr.ffi.provider.jffi.FastNumericMethodGenerator
Imports
com.kenai.jffi.CallContext, .ObjectParameterInfo, .ObjectParameterStrategy, jnr.ffi.Pointer, jnr.ffi.provider.ParameterType, .ResultType, org.objectweb.asm.Label, java.lang.reflect.Method, .Modifier, java.nio.Buffer, .ByteBuffer, .CharBuffer, .DoubleBuffer, .FloatBuffer, .IntBuffer, .LongBuffer, .ShortBuffer, java.util.Collections, .HashMap, .LinkedHashMap, .Map

Field Summary

Modifier and TypeField and Description
pack-priv static final Map<Class<? extends ObjectParameterStrategy<T>>, Method>
pack-priv static final Map<Class<T>, Class<? extends ObjectParameterStrategy<T>>>

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
private static void
addStrategyParameterType(Map<Class<? extends ObjectParameterStrategy<T>>, Method> map, Class<? extends ObjectParameterStrategy<T>> strategyClass, Class<T> parameterType)

pack-priv static int
emitDirectCheck(SkinnyMethodAdapter mv, Class<T> javaParameterClass, Class<T> nativeIntType, LocalVariable parameter, LocalVariable objCount, int pointerCount)

pack-priv static void
emitParameterStrategyAddress(SkinnyMethodAdapter mv, Class<T> nativeIntType, Class<? extends ObjectParameterStrategy<T>> strategyClass, LocalVariable strategy, LocalVariable parameter)

pack-priv static Class<? extends ObjectParameterStrategy<T>>
public void
generate(final AsmBuilder builder, final SkinnyMethodAdapter mv, LocalVariableAllocator localVariableAllocator, CallContext callContext, final ResultType resultType, final ParameterType[] parameterTypes, boolean ignoreError)

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

pack-priv abstract String
getInvokerMethodName(ResultType resultType, ParameterType[] parameterTypes, boolean ignoreErrno)

pack-priv abstract String
getInvokerSignature(int parameterCount, Class<T> nativeIntType)

pack-priv abstract Class<T>
pack-priv static String
getObjectParameterMethodName(int parameterCount)

pack-priv static String
getObjectParameterMethodSignature(int parameterCount, int pointerCount)

pack-priv static boolean
Inherited from jnr.ffi.provider.jffi.BaseMethodGenerator:
emitEpilogueemitPostInvokegenerateisPostInvokeRequiredloadAndConvertParameter

Field Detail

STRATEGY_ADDRESS_METHODSback to summary
pack-priv static final Map<Class<? extends ObjectParameterStrategy<T>>, Method> STRATEGY_ADDRESS_METHODS
STRATEGY_PARAMETER_TYPESback to summary
pack-priv static final Map<Class<T>, Class<? extends ObjectParameterStrategy<T>>> STRATEGY_PARAMETER_TYPES

Constructor Detail

AbstractFastNumericMethodGeneratorback to summary
pack-priv AbstractFastNumericMethodGenerator()

Method Detail

addStrategyParameterTypeback to summary
private static void addStrategyParameterType(Map<Class<? extends ObjectParameterStrategy<T>>, Method> map, Class<? extends ObjectParameterStrategy<T>> strategyClass, Class<T> parameterType)
emitDirectCheckback to summary
pack-priv static int emitDirectCheck(SkinnyMethodAdapter mv, Class<T> javaParameterClass, Class<T> nativeIntType, LocalVariable parameter, LocalVariable objCount, int pointerCount)
emitParameterStrategyAddressback to summary
pack-priv static void emitParameterStrategyAddress(SkinnyMethodAdapter mv, Class<T> nativeIntType, Class<? extends ObjectParameterStrategy<T>> strategyClass, LocalVariable strategy, LocalVariable parameter)
emitParameterStrategyLookupback to summary
pack-priv static Class<? extends ObjectParameterStrategy<T>> emitParameterStrategyLookup(SkinnyMethodAdapter mv, Class<T> javaParameterType)
generateback to summary
public void generate(final AsmBuilder builder, final SkinnyMethodAdapter mv, LocalVariableAllocator localVariableAllocator, CallContext callContext, final ResultType resultType, final ParameterType[] parameterTypes, boolean ignoreError)

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

getInvokerMethodNameback to summary
pack-priv abstract String getInvokerMethodName(ResultType resultType, ParameterType[] parameterTypes, boolean ignoreErrno)
getInvokerSignatureback to summary
pack-priv abstract String getInvokerSignature(int parameterCount, Class<T> nativeIntType)
getInvokerTypeback to summary
pack-priv abstract Class<T> getInvokerType()
getObjectParameterMethodNameback to summary
pack-priv static String getObjectParameterMethodName(int parameterCount)
getObjectParameterMethodSignatureback to summary
pack-priv static String getObjectParameterMethodSignature(int parameterCount, int pointerCount)
hasPointerParameterStrategyback to summary
pack-priv static boolean hasPointerParameterStrategy(Class<T> javaType)
Annotations
@SuppressWarnings:unchecked