Package jnr.ffi.provider.jffi
Class FastNumericMethodGenerator
- java.lang.Object
-
- jnr.ffi.provider.jffi.BaseMethodGenerator
-
- jnr.ffi.provider.jffi.AbstractFastNumericMethodGenerator
-
- jnr.ffi.provider.jffi.FastNumericMethodGenerator
-
- All Implemented Interfaces:
MethodGenerator
class FastNumericMethodGenerator extends AbstractFastNumericMethodGenerator
-
-
Field Summary
Fields Modifier and Type Field Description private static boolean
ENABLED
private static int
MAX_PARAMETERS
private static java.lang.String[]
methodNames
private static java.lang.String[]
signatures
-
Fields inherited from class jnr.ffi.provider.jffi.AbstractFastNumericMethodGenerator
STRATEGY_ADDRESS_METHODS, STRATEGY_PARAMETER_TYPES
-
-
Constructor Summary
Constructors Constructor Description FastNumericMethodGenerator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) java.lang.String
getInvokerMethodName(ResultType resultType, ParameterType[] parameterTypes, boolean ignoreErrno)
(package private) java.lang.String
getInvokerSignature(int parameterCount, java.lang.Class nativeIntType)
(package private) java.lang.Class
getInvokerType()
(package private) static int
getMaximumParameters()
(package private) static boolean
isFastNumericParameter(com.kenai.jffi.Platform platform, ParameterType parameterType)
(package private) static boolean
isFastNumericResult(com.kenai.jffi.Platform platform, ResultType type)
private static boolean
isNumericType(com.kenai.jffi.Platform platform, SigType type)
boolean
isSupported(ResultType resultType, ParameterType[] parameterTypes, CallingConvention callingConvention)
private static boolean
isSupportedPointerParameterType(java.lang.Class javaParameterType)
-
Methods inherited from class jnr.ffi.provider.jffi.AbstractFastNumericMethodGenerator
emitDirectCheck, emitParameterStrategyAddress, emitParameterStrategyLookup, generate, getObjectParameterMethodName, getObjectParameterMethodSignature, hasPointerParameterStrategy
-
Methods inherited from class jnr.ffi.provider.jffi.BaseMethodGenerator
emitEpilogue, emitPostInvoke, generate, isPostInvokeRequired, loadAndConvertParameter
-
-
-
-
Method Detail
-
isSupported
public boolean isSupported(ResultType resultType, ParameterType[] parameterTypes, CallingConvention callingConvention)
-
getInvokerMethodName
java.lang.String getInvokerMethodName(ResultType resultType, ParameterType[] parameterTypes, boolean ignoreErrno)
- Specified by:
getInvokerMethodName
in classAbstractFastNumericMethodGenerator
-
getInvokerSignature
java.lang.String getInvokerSignature(int parameterCount, java.lang.Class nativeIntType)
- Specified by:
getInvokerSignature
in classAbstractFastNumericMethodGenerator
-
getInvokerType
java.lang.Class getInvokerType()
- Specified by:
getInvokerType
in classAbstractFastNumericMethodGenerator
-
isNumericType
private static boolean isNumericType(com.kenai.jffi.Platform platform, SigType type)
-
isFastNumericResult
static boolean isFastNumericResult(com.kenai.jffi.Platform platform, ResultType type)
-
isFastNumericParameter
static boolean isFastNumericParameter(com.kenai.jffi.Platform platform, ParameterType parameterType)
-
isSupportedPointerParameterType
private static boolean isSupportedPointerParameterType(java.lang.Class javaParameterType)
-
getMaximumParameters
static int getMaximumParameters()
-
-