public class AutoPointer extends Pointer
| Modifier and Type | Class and Description |
|---|---|
private static class |
AutoPointer.AutoPointerAllocator |
private static class |
AutoPointer.ClassData |
private static class |
AutoPointer.Reaper |
private static class |
AutoPointer.ReaperGroup |
private static class |
AutoPointer.ReleaserData |
RubyObject.DataRubyBasicObject.Finalizer| Modifier and Type | Field and Description |
|---|---|
(package private) static java.lang.String |
AUTOPTR_CLASS_NAME |
private static java.lang.ThreadLocal<java.lang.ref.Reference<AutoPointer.ReaperGroup>> |
currentReaper |
private Pointer |
pointer |
private AutoPointer.Reaper |
reaper |
private static java.util.concurrent.ConcurrentMap<AutoPointer.ReaperGroup,java.lang.Boolean> |
referenceSet
Keep strong references to the Reaper until cleanup
|
private java.lang.Object |
referent |
ABSTRACT_MEMORY_RUBY_CLASS, size, typeSizeFIELD_ALLOCATED_CLASSES, FIELD_ALLOCATORS, IVAR_INSPECTING_OBJECT_ALLOCATOR, OBJECT_ALLOCATOR, OBJECT_VAR0_ALLOCATOR, OBJECT_VAR1_ALLOCATOR, OBJECT_VAR2_ALLOCATOR, OBJECT_VAR3_ALLOCATOR, OBJECT_VAR4_ALLOCATOR, OBJECT_VAR5_ALLOCATOR, OBJECT_VAR6_ALLOCATOR, OBJECT_VAR7_ALLOCATOR, OBJECT_VAR8_ALLOCATOR, OBJECT_VAR9_ALLOCATOR, REIFYING_OBJECT_ALLOCATORALL_F, BASICOBJECT_ALLOCATOR, COMPARE_BY_IDENTITY_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, STAMP_OFFSET, TAINTED_F, UNDEF, UNTRUSTED_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F, VAR_TABLE_OFFSET, varTable, varTableStampNULL_ARRAY| Constructor and Description |
|---|
AutoPointer(Ruby runtime,
RubyClass klazz) |
| Modifier and Type | Method and Description |
|---|---|
IRubyObject |
autorelease_p(ThreadContext context) |
IRubyObject |
autorelease(ThreadContext context,
IRubyObject autorelease) |
private static void |
checkPointer(Ruby runtime,
IRubyObject ptr) |
static RubyClass |
createAutoPointerClass(Ruby runtime,
RubyModule module) |
IRubyObject |
free(ThreadContext context) |
static IRubyObject |
from_native(ThreadContext context,
IRubyObject recv,
IRubyObject value,
IRubyObject ctx) |
IRubyObject |
initialize(ThreadContext context,
IRubyObject pointerArg) |
IRubyObject |
initialize(ThreadContext context,
IRubyObject pointerArg,
IRubyObject releaser) |
private void |
setReaper(AutoPointer.Reaper reaper) |
address, createPointerClass, getAddress, getNull, getPointer, getPointerClass, initialize_copy, null_p, op_equal, order, size, slice, slice, to_sallocateMemoryIO, aref, calculateTypeSize, checkArray, clear, createAbstractMemoryClass, equals, get_array_of_float, get_array_of_float64, get_array_of_int16, get_array_of_int32, get_array_of_int64, get_array_of_int8, get_array_of_long, get_array_of_pointer, get_array_of_string, get_array_of_string, get_array_of_uint16, get_array_of_uint32, get_array_of_uint64, get_array_of_uint8, get_array_of_ulong, get_bytes, get_float32, get_float32, get_float64, get_float64, get_int16, get_int16, get_int32, get_int32, get_int64, get_int64, get_int8, get_int8, get_long, get_long, get_pointer, get_pointer, get_string, get_string, get_string, get_uint16, get_uint16, get_uint32, get_uint32, get_uint64, get_uint64, get_uint8, get_uint8, get_ulong, get_ulong, getOffset, getSize, hash, hashCode, op_plus, order, order, put_array_of_float, put_array_of_float64, put_array_of_int16, put_array_of_int32, put_array_of_int64, put_array_of_int8, put_array_of_long, put_array_of_pointer, put_array_of_uint16, put_array_of_uint32, put_array_of_uint64, put_array_of_uint8, put_array_of_ulong, put_bytes, put_callback, put_float32, put_float32, put_float64, put_float64, put_int16, put_int16, put_int32, put_int32, put_int64, put_int64, put_int8, put_int8, put_long, put_long, put_pointer, put_pointer, put_string, put_uint16, put_uint16, put_uint32, put_uint32, put_uint64, put_uint64, put_uint8, put_uint8, put_ulong, put_ulong, read_array_of_float, read_array_of_float64, read_array_of_int16, read_array_of_int32, read_array_of_int64, read_array_of_int8, read_array_of_long, read_array_of_pointer, read_array_of_string, read_array_of_string, read_array_of_type, read_array_of_type, read_array_of_uint16, read_array_of_uint32, read_array_of_uint64, read_array_of_uint8, read_array_of_ulong, read_bytes, read_char, read_double, read_float, read_int, read_long_long, read_long, read_pointer, read_short, read_string, read_string, read_uchar, read_uint, read_ulong_long, read_ulong, read_ushort, slice, to_ptr, total, type_size, write_array_of_float, write_array_of_float64, write_array_of_int16, write_array_of_int32, write_array_of_int64, write_array_of_int8, write_array_of_long, write_array_of_pointer, write_array_of_type, write_array_of_type, write_array_of_uint16, write_array_of_uint32, write_array_of_uint64, write_array_of_uint8, write_array_of_ulong, write_bytes, write_char, write_double, write_float, write_int, write_long_long, write_long, write_pointer, write_short, write_string, write_string, write_uchar, write_uint, write_ulong_long, write_ushortgetMemoryIO, setMemoryIOattachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, getNativeTypeIndex, initialize, initialize, inspect, op_eqq, puts, specificEval, toStringaddFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkFrozen, checkStringType, checkStringType19, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, display, dup, ensureInstanceVariablesSettable, eql_p, eql, equal_p, equal_p19, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, freeze, frozen_p, getFFIHandle, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getNativeHandle, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInternalVariable, hasVariables, id_deprecated, id, infectBy, initialize_copy, initialize19, inspect, inspectHashCode, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval19, instance_eval19, instance_eval19, instance_eval19, instance_exec, instance_exec19, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, instance_variables19, isBuiltin, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, method_missing19, method, method19, methods, methods, methods19, nil_p, op_cmp, op_equal_19, op_match, op_match19, op_not_equal, op_not_match, op_not, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, rbClone, remove_instance_variable, removeFinalizers, removeInstanceVariable, removeInternalVariable, respond_to_p, respond_to_p, respond_to_p19, respond_to_p19, respondsTo, respondsToMissing, respondsToMissing, send, send, send, send, send, send19, send19, send19, send19, setFFIHandle, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setNativeHandle, setTaint, setUntrusted, setVariable, singleton_method_added19, singleton_method_removed19, singleton_method_undefined19, singleton_methods, singleton_methods19, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted_p, testFrozen, testFrozen, to_a, to_s, toJava, trust, type_deprecated, type, untaint, untrust, untrusted_p, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnderstatic final java.lang.String AUTOPTR_CLASS_NAME
private static final java.util.concurrent.ConcurrentMap<AutoPointer.ReaperGroup,java.lang.Boolean> referenceSet
private static final java.lang.ThreadLocal<java.lang.ref.Reference<AutoPointer.ReaperGroup>> currentReaper
private Pointer pointer
private java.lang.Object referent
private transient volatile AutoPointer.Reaper reaper
public static RubyClass createAutoPointerClass(Ruby runtime, RubyModule module)
private static final void checkPointer(Ruby runtime, IRubyObject ptr)
public static IRubyObject from_native(ThreadContext context, IRubyObject recv, IRubyObject value, IRubyObject ctx)
public final IRubyObject initialize(ThreadContext context, IRubyObject pointerArg)
initialize in class Pointerpublic final IRubyObject initialize(ThreadContext context, IRubyObject pointerArg, IRubyObject releaser)
initialize in class Pointerpublic final IRubyObject free(ThreadContext context)
public final IRubyObject autorelease(ThreadContext context, IRubyObject autorelease)
public final IRubyObject autorelease_p(ThreadContext context)
private void setReaper(AutoPointer.Reaper reaper)