final class NativeClosureManager extends java.lang.Object implements ClosureManager
Modifier and Type | Class and Description |
---|---|
static class |
NativeClosureManager.ClosureSite<T> |
Modifier and Type | Field and Description |
---|---|
private AsmClassLoader |
classLoader |
private java.util.Map<java.lang.Class<?>,NativeClosureFactory> |
factories |
private Runtime |
runtime |
private SignatureTypeMapper |
typeMapper |
Constructor and Description |
---|
NativeClosureManager(Runtime runtime,
SignatureTypeMapper typeMapper,
AsmClassLoader classLoader) |
Modifier and Type | Method and Description |
---|---|
(package private) <T> NativeClosureFactory<T> |
getClosureFactory(java.lang.Class<T> closureClass) |
<T> Pointer |
getClosurePointer(java.lang.Class<? extends T> closureClass,
T instance) |
(package private) <T> NativeClosureFactory<T> |
initClosureFactory(java.lang.Class<T> closureClass) |
<T> T |
newClosure(java.lang.Class<? extends T> closureClass,
T instance) |
(package private) <T> ToNativeConverter<T,Pointer> |
newClosureSite(java.lang.Class<T> closureClass) |
private volatile java.util.Map<java.lang.Class<?>,NativeClosureFactory> factories
private final Runtime runtime
private final SignatureTypeMapper typeMapper
private final AsmClassLoader classLoader
NativeClosureManager(Runtime runtime, SignatureTypeMapper typeMapper, AsmClassLoader classLoader)
<T> NativeClosureFactory<T> getClosureFactory(java.lang.Class<T> closureClass)
public <T> T newClosure(java.lang.Class<? extends T> closureClass, T instance)
newClosure
in interface ClosureManager
public final <T> Pointer getClosurePointer(java.lang.Class<? extends T> closureClass, T instance)
getClosurePointer
in interface ClosureManager
<T> NativeClosureFactory<T> initClosureFactory(java.lang.Class<T> closureClass)
<T> ToNativeConverter<T,Pointer> newClosureSite(java.lang.Class<T> closureClass)