public static class StructLayout.Field extends RubyObject
RubyObject.DataRubyBasicObject.Finalizer| Modifier and Type | Field and Description |
|---|---|
private StructLayout.FieldIO |
io
The basic ops to read/write this field
|
private IRubyObject |
name
The name of this field
|
private int |
offset
The offset within the memory area of this member
|
private Type |
type
The
Type of this field. |
FIELD_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 |
|---|
Field(Ruby runtime,
RubyClass klass) |
Field(Ruby runtime,
RubyClass klass,
StructLayout.FieldIO io) |
Field(Ruby runtime,
RubyClass klass,
Type type,
int offset,
StructLayout.FieldIO io) |
| Modifier and Type | Method and Description |
|---|---|
IRubyObject |
alignment(ThreadContext context) |
(package private) Type |
checkType(IRubyObject type) |
boolean |
equals(java.lang.Object obj)
This method is just a wrapper around the Ruby "==" method,
provided so that RubyObjects can be used as keys in the Java
HashMap object underlying RubyHash.
|
Type |
ffiType() |
(package private) static java.nio.ByteOrder |
getByteOrderOption(ThreadContext context,
IRubyObject[] args) |
(package private) StructLayout.FieldIO |
getFieldIO() |
int |
hashCode()
Override the Object#hashCode method to make sure that the Ruby
hash is actually used as the hashcode for Ruby objects.
|
(package private) void |
init(IRubyObject[] args,
StructLayout.FieldIO io) |
(package private) void |
init(IRubyObject name,
IRubyObject type,
IRubyObject offset) |
(package private) void |
init(IRubyObject name,
IRubyObject type,
IRubyObject offset,
StructLayout.FieldIO io) |
IRubyObject |
initialize(ThreadContext context,
IRubyObject[] args) |
boolean |
isCacheable()
Gets the cacheable status of this Struct member
|
boolean |
isValueReferenceNeeded()
Checks if a reference to the ruby object assigned to this field needs to be stored
|
IRubyObject |
name(ThreadContext context) |
int |
offset() |
IRubyObject |
offset(ThreadContext context) |
IRubyObject |
size(ThreadContext context) |
IRubyObject |
type(ThreadContext context) |
attachToObjectSpace, 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_equal, 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, yieldUnderprivate StructLayout.FieldIO io
private IRubyObject name
private int offset
Field(Ruby runtime, RubyClass klass, StructLayout.FieldIO io)
Field(Ruby runtime, RubyClass klass, Type type, int offset, StructLayout.FieldIO io)
void init(IRubyObject name, IRubyObject type, IRubyObject offset)
void init(IRubyObject name, IRubyObject type, IRubyObject offset, StructLayout.FieldIO io)
void init(IRubyObject[] args, StructLayout.FieldIO io)
public IRubyObject initialize(ThreadContext context, IRubyObject[] args)
final Type checkType(IRubyObject type)
public final int offset()
public final Type ffiType()
public boolean equals(java.lang.Object obj)
RubyObjectequals in class RubyObjectpublic int hashCode()
RubyObjecthashCode in class RubyObjectpublic final boolean isCacheable()
public final boolean isValueReferenceNeeded()
final StructLayout.FieldIO getFieldIO()
static java.nio.ByteOrder getByteOrderOption(ThreadContext context, IRubyObject[] args)
public final IRubyObject size(ThreadContext context)
public final IRubyObject alignment(ThreadContext context)
public final IRubyObject offset(ThreadContext context)
public final IRubyObject type(ThreadContext context)
public final IRubyObject name(ThreadContext context)