Package org.jruby.ext.ffi
Class StructLayout.Field
java.lang.Object
org.jruby.RubyBasicObject
org.jruby.RubyObject
org.jruby.ext.ffi.StructLayout.Field
- All Implemented Interfaces:
Serializable,Cloneable,Comparable<IRubyObject>,InstanceVariables,InternalVariables,IRubyObject,CoreObjectType
- Direct Known Subclasses:
StructLayout.ArrayField,StructLayout.EnumField,StructLayout.FunctionField,StructLayout.InnerStructField,StructLayout.NumberField,StructLayout.PointerField,StructLayout.StringField
- Enclosing class:
- StructLayout
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.DataNested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.Finalizer -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate StructLayout.FieldIOThe basic ops to read/write this fieldprivate MemoryOpThe memory operation for this field typeprivate IRubyObjectThe name of this fieldprivate intThe offset within the memory area of this memberprivate TypeTheTypeof this field.Fields inherited from class org.jruby.RubyObject
IVAR_INSPECTING_OBJECT_ALLOCATOR, OBJECT_ALLOCATOR, REIFYING_OBJECT_ALLOCATORFields inherited from class org.jruby.RubyBasicObject
ALL_F, BASICOBJECT_ALLOCATOR, COMPARE_BY_IDENTITY_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, IS_OVERLAID_F, metaClass, NEVER, NIL_F, REFINED_MODULE_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, USER9_F, USERA_F, VAR_TABLE_OFFSET, varTable, varTableStampFields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal IRubyObjectalignment(ThreadContext context) (package private) final TypecheckType(IRubyObject type) booleanThis override does not do a "checked" dispatch.final TypeffiType()final IRubyObjectget(ThreadContext context, IRubyObject pointer) (package private) static ByteOrdergetByteOrderOption(ThreadContext context, IRubyObject[] args) (package private) final StructLayout.FieldIOinthashCode()This override does not do "checked" dispatch since Object usually has #hash defined.(package private) voidinit(IRubyObject[] args, StructLayout.FieldIO io) (package private) voidinit(IRubyObject name, IRubyObject type, IRubyObject offset) (package private) voidinit(IRubyObject name, IRubyObject type, IRubyObject offset, StructLayout.FieldIO io) initialize(ThreadContext context, IRubyObject[] args) final booleanGets the cacheable status of this Struct memberfinal booleanChecks if a reference to the ruby object assigned to this field needs to be storedfinal IRubyObjectname(ThreadContext context) final intoffset()final IRubyObjectoffset(ThreadContext context) final IRubyObjectput(ThreadContext context, IRubyObject pointer, IRubyObject value) final IRubyObjectsize(ThreadContext context) final IRubyObjecttype(ThreadContext context) Methods inherited from class org.jruby.RubyObject
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, dig, dig1, dig2, eqlInternal, equalInternal, getNativeClassIndex, inspect, op_eqq, puts, specificEval, toRubyString, toStringMethods inherited from class org.jruby.RubyBasicObject
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkCallMethod, checkFrozen, checkStringType, checkStringType19, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, decode, display, dup, ensureInstanceVariablesSettable, eql, eql_p, 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, getMetaClass, getNativeHandle, getNativeTypeIndex, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getSingletonClassCloneAndAttach, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInstanceVariables, hasInternalVariable, hasVariables, id, infectBy, initialize, 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, isSpecialObject, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, method, method_missing, method_missing19, method19, methods, methods, methods19, nil_p, nonFixnumHashCode, OBJ_INIT_COPY, objInitCopy, op_cmp, op_equal, op_equal_19, op_match, op_match19, op_not, op_not_equal, op_not_match, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, rbClone, 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, singleton_method_added, singleton_method_added19, singleton_method_removed, singleton_method_removed19, singleton_method_undefined, singleton_method_undefined19, singleton_methods, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted_p, testFrozen, testFrozen, to_a, to_a, to_s, toJava, trust, type, type_deprecated, untaint, untrust, untrusted_p, validateInstanceVariable, validateInstanceVariable, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnder
-
Field Details
-
io
The basic ops to read/write this field -
name
The name of this field -
type
TheTypeof this field. -
offset
private int offsetThe offset within the memory area of this member -
memoryOp
The memory operation for this field type
-
-
Constructor Details
-
Field
-
Field
Field(Ruby runtime, RubyClass klass, StructLayout.FieldIO io) -
Field
Field(Ruby runtime, RubyClass klass, Type type, int offset, StructLayout.FieldIO io)
-
-
Method Details
-
init
-
init
-
init
-
initialize
-
checkType
-
offset
public final int offset() -
ffiType
-
equals
Description copied from class:RubyObjectThis override does not do a "checked" dispatch.- Overrides:
equalsin classRubyObject- See Also:
-
hashCode
public int hashCode()Description copied from class:RubyObjectThis override does not do "checked" dispatch since Object usually has #hash defined.- Overrides:
hashCodein classRubyObject- See Also:
-
isCacheable
public final boolean isCacheable()Gets the cacheable status of this Struct member- Returns:
- true if this member type is cacheable
-
isValueReferenceNeeded
public final boolean isValueReferenceNeeded()Checks if a reference to the ruby object assigned to this field needs to be stored- Returns:
- true if this member type requires the ruby value to be stored.
-
getFieldIO
-
getByteOrderOption
-
size
-
alignment
-
offset
-
type
-
name
-
get
-
put
-