Package jnr.ffi.provider.jffi
Class AsmLibraryLoader
- java.lang.Object
-
- jnr.ffi.provider.jffi.LibraryLoader
-
- jnr.ffi.provider.jffi.AsmLibraryLoader
-
public class AsmLibraryLoader extends LibraryLoader
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.ThreadLocal<AsmClassLoader>classLoaderstatic booleanDEBUGprivate static java.util.concurrent.atomic.AtomicLongnextClassIDprivate NativeRuntimeruntimeprivate static java.util.concurrent.atomic.AtomicLonguniqueId
-
Constructor Summary
Constructors Constructor Description AsmLibraryLoader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidgenerateFunctionNotFound(org.objectweb.asm.ClassVisitor cv, java.lang.String className, java.lang.String errorFieldName, java.lang.String functionName, java.lang.Class returnType, java.lang.Class[] parameterTypes)private <T> TgenerateInterfaceImpl(NativeLibrary library, java.lang.Class<T> interfaceClass, java.util.Map<LibraryOption,?> libraryOptions, AsmClassLoader classLoader)private voidgenerateVarargsInvocation(AsmBuilder builder, java.lang.reflect.Method m, AsmBuilder.ObjectField field)(package private) <T> TloadLibrary(NativeLibrary library, java.lang.Class<T> interfaceClass, java.util.Map<LibraryOption,?> libraryOptions, boolean failImmediately)-
Methods inherited from class jnr.ffi.provider.jffi.LibraryLoader
getSignatureTypeMapper, newClosureTypeMapper, newCompositeTypeMapper
-
-
-
-
Field Detail
-
DEBUG
public static final boolean DEBUG
-
nextClassID
private static final java.util.concurrent.atomic.AtomicLong nextClassID
-
uniqueId
private static final java.util.concurrent.atomic.AtomicLong uniqueId
-
classLoader
private static final java.lang.ThreadLocal<AsmClassLoader> classLoader
-
runtime
private final NativeRuntime runtime
-
-
Method Detail
-
loadLibrary
<T> T loadLibrary(NativeLibrary library, java.lang.Class<T> interfaceClass, java.util.Map<LibraryOption,?> libraryOptions, boolean failImmediately)
- Specified by:
loadLibraryin classLibraryLoader
-
generateInterfaceImpl
private <T> T generateInterfaceImpl(NativeLibrary library, java.lang.Class<T> interfaceClass, java.util.Map<LibraryOption,?> libraryOptions, AsmClassLoader classLoader)
-
generateFunctionNotFound
private void generateFunctionNotFound(org.objectweb.asm.ClassVisitor cv, java.lang.String className, java.lang.String errorFieldName, java.lang.String functionName, java.lang.Class returnType, java.lang.Class[] parameterTypes)
-
generateVarargsInvocation
private void generateVarargsInvocation(AsmBuilder builder, java.lang.reflect.Method m, AsmBuilder.ObjectField field)
-
-