|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jruby.RubyBasicObject
org.jruby.RubyObject
org.jruby.ext.ffi.StructLayout.Member
public abstract static class StructLayout.Member
A struct member. This defines the offset within a chunk of memory to use when reading/writing the member, as well as how to convert between the native representation of the member and the JRuby representation.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.jruby.RubyObject |
---|
RubyObject.Data, RubyObject.ObjectMethods |
Nested classes/interfaces inherited from class org.jruby.RubyBasicObject |
---|
RubyBasicObject.BasicObjectMethods, RubyBasicObject.Finalizer |
Field Summary | |
---|---|
protected int |
index
The index of this member within the struct |
protected IRubyObject |
name
The name of this member. |
protected long |
offset
The offset within the memory area of this member |
protected Type |
type
The Type of this member. |
Fields inherited from class org.jruby.RubyObject |
---|
OBJECT_ALLOCATOR |
Fields inherited from class org.jruby.RubyBasicObject |
---|
ALL_F, COMPARE_BY_IDENTITY_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, TAINTED_F, UNDEF, UNTRUSTED_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F |
Fields inherited from interface org.jruby.runtime.builtin.IRubyObject |
---|
NULL_ARRAY |
Constructor Summary | |
---|---|
protected |
StructLayout.Member(IRubyObject name,
Type type,
int index,
long offset)
Initializes a new Member instance |
Method Summary | |
---|---|
IRubyObject |
alignment(ThreadContext context)
|
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. |
IRubyObject |
ffi_type(ThreadContext context)
|
abstract IRubyObject |
get(Ruby runtime,
StructLayout.Storage cache,
IRubyObject ptr)
Reads a ruby value from the struct member. |
NativeType |
getNativeType()
|
int |
hashCode()
Override the Object#hashCode method to make sure that the Ruby hash is actually used as the hashcode for Ruby objects. |
protected boolean |
isCacheable()
Gets the cacheable status of this Struct member |
protected boolean |
isValueReferenceNeeded()
Checks if a reference to the ruby object assigned to this field needs to be stored |
IRubyObject |
offset(ThreadContext context)
|
abstract void |
put(Ruby runtime,
StructLayout.Storage cache,
IRubyObject ptr,
IRubyObject value)
Writes a ruby value to the native struct member as the appropriate native value. |
IRubyObject |
size(ThreadContext context)
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected final IRubyObject name
protected final Type type
Type
of this member.
protected final long offset
protected final int index
Constructor Detail |
---|
protected StructLayout.Member(IRubyObject name, Type type, int index, long offset)
Method Detail |
---|
public final NativeType getNativeType()
public boolean equals(java.lang.Object obj)
RubyObject
equals
in class RubyObject
public int hashCode()
RubyObject
hashCode
in class RubyObject
public abstract void put(Ruby runtime, StructLayout.Storage cache, IRubyObject ptr, IRubyObject value)
runtime
- The ruby runtimecache
- The value cacheptr
- The struct memory area.value
- The ruby value to write to the native struct member.public abstract IRubyObject get(Ruby runtime, StructLayout.Storage cache, IRubyObject ptr)
cache
- The cache used to storeptr
- The struct memory area.
protected boolean isCacheable()
protected boolean isValueReferenceNeeded()
public IRubyObject size(ThreadContext context)
public IRubyObject alignment(ThreadContext context)
public IRubyObject offset(ThreadContext context)
public IRubyObject ffi_type(ThreadContext context)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |