public final class StructLayout extends Type
Modifier and Type | Class and Description |
---|---|
static class |
StructLayout.ArrayField |
static class |
StructLayout.ArrayProxy |
static class |
StructLayout.CharArrayProxy |
static class |
StructLayout.EnumField |
static class |
StructLayout.Field |
static class |
StructLayout.FunctionField |
static class |
StructLayout.InnerStructField |
static class |
StructLayout.MappedField |
static class |
StructLayout.Member
A struct member.
|
static class |
StructLayout.NumberField |
static class |
StructLayout.PointerField |
static interface |
StructLayout.Storage |
Type.Array, Type.Builtin
RubyObject.Data
RubyBasicObject.Finalizer
alignment, nativeType, size
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_ALLOCATOR
ALL_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, UNTRUST_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F, VAR_TABLE_OFFSET, varTable, varTableStamp
NULL_ARRAY
Modifier and Type | Method and Description |
---|---|
IRubyObject |
aref(ThreadContext context,
IRubyObject fieldName) |
static RubyClass |
createStructLayoutClass(Ruby runtime,
RubyModule module)
Registers the StructLayout class in the JRuby runtime.
|
boolean |
equals(Object o)
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.
|
IRubyObject |
fields(ThreadContext context) |
IRubyObject |
get(ThreadContext context,
IRubyObject ptr,
IRubyObject name)
Gets the value of the struct member corresponding to name.
|
int |
getFieldCount() |
Collection<StructLayout.Field> |
getFields() |
Collection<StructLayout.Member> |
getMembers() |
int |
getSize() |
int |
hashCode()
Override the Object#hashCode method to make sure that the Ruby
hash is actually used as the hashcode for Ruby objects.
|
boolean |
isUnion() |
IRubyObject |
members(ThreadContext context)
Gets a ruby array of the names of all members of this struct.
|
static IRubyObject |
newStructLayout(ThreadContext context,
IRubyObject klass,
IRubyObject[] args) |
IRubyObject |
offset_of(ThreadContext context,
IRubyObject fieldName) |
IRubyObject |
offsets(ThreadContext context)
Gets a ruby array of the offsets of all members of this struct.
|
IRubyObject |
put(ThreadContext context,
IRubyObject ptr,
IRubyObject name,
IRubyObject value)
Sets the native value of the struct member corresponding to name.
|
alignment, createTypeClass, getNativeAlignment, getNativeSize, getNativeType, getTypeClass, size
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, getNativeClassIndex, initialize, initialize, inspect, op_eqq, puts, specificEval, toString
addFinalizer, 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, getNativeTypeIndex, 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, isSpecialConst, isTaint, isTrue, isUntrusted, itself, kind_of_p, makeMetaClass, method_missing19, method, method19, methods, methods, methods19, nil_p, OBJ_INIT_COPY, objInitCopy, 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, rbInspect, 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, yieldUnder
public static RubyClass createStructLayoutClass(Ruby runtime, RubyModule module)
runtime
- The JRuby runtime to register the new class in.public static final IRubyObject newStructLayout(ThreadContext context, IRubyObject klass, IRubyObject[] args)
public IRubyObject get(ThreadContext context, IRubyObject ptr, IRubyObject name)
ptr
- The address of the structure in memory.name
- The name of the member.public IRubyObject put(ThreadContext context, IRubyObject ptr, IRubyObject name, IRubyObject value)
ptr
- The address of the structure in memory.name
- The name of the member.public IRubyObject members(ThreadContext context)
public IRubyObject offsets(ThreadContext context)
public IRubyObject offset_of(ThreadContext context, IRubyObject fieldName)
public IRubyObject aref(ThreadContext context, IRubyObject fieldName)
public IRubyObject fields(ThreadContext context)
public boolean equals(Object o)
RubyObject
equals
in class RubyObject
public int hashCode()
RubyObject
hashCode
in class RubyObject
public final int getSize()
public final int getFieldCount()
public final Collection<StructLayout.Field> getFields()
public final Collection<StructLayout.Member> getMembers()
public final boolean isUnion()
Copyright © 2001-2015 JRuby. All Rights Reserved.