org.jruby.ext.ffi
Class Type

java.lang.Object
  extended by org.jruby.RubyBasicObject
      extended by org.jruby.RubyObject
          extended by org.jruby.ext.ffi.Type
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<IRubyObject>, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType
Direct Known Subclasses:
CallbackInfo, MappedType, StructByValue, StructLayout, Type.Array, Type.Builtin

public abstract class Type
extends RubyObject

See Also:
Serialized Form

Nested Class Summary
static class Type.Array
           
static class Type.Builtin
           
 
Nested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.Data
 
Nested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.Finalizer
 
Field Summary
protected  int alignment
          Minimum alignment of this type in bytes
protected  NativeType nativeType
           
protected  int size
          Size of this type in bytes
 
Fields inherited from class org.jruby.RubyObject
OBJECT_ALLOCATOR, REIFYING_OBJECT_ALLOCATOR
 
Fields 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, 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, USER8_F
 
Fields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY
 
Constructor Summary
protected Type(Ruby runtime, RubyClass klass, NativeType type)
          Initializes a new Type instance.
protected Type(Ruby runtime, RubyClass klass, NativeType type, int size, int alignment)
          Initializes a new Type instance.
 
Method Summary
 IRubyObject alignment(ThreadContext context)
          Gets the native alignment of this Type in bytes
static RubyClass createTypeClass(Ruby runtime, RubyModule ffiModule)
           
 int getNativeAlignment()
          Gets the native alignment of this Type in bytes
 int getNativeSize()
          Gets the native size of this Type in bytes
 NativeType getNativeType()
          Gets the native type of this Type when passed as a parameter
static RubyClass getTypeClass(Ruby runtime)
           
 IRubyObject size(ThreadContext context)
          Gets the native size of this Type in bytes
 
Methods inherited from class org.jruby.RubyObject
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, equals, getNativeTypeIndex, hashCode, initialize, op_eqq, puts, specificEval, toString
 
Methods inherited from class org.jruby.RubyBasicObject
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, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInternalVariable, hasVariables, id_deprecated, id, infectBy, initialize_copy, initialize19, initialize19, initialize19, initialize19, initialize19, initObjectId, 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, send19, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, 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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

nativeType

protected final NativeType nativeType

size

protected final int size
Size of this type in bytes


alignment

protected final int alignment
Minimum alignment of this type in bytes

Constructor Detail

Type

protected Type(Ruby runtime,
               RubyClass klass,
               NativeType type,
               int size,
               int alignment)
Initializes a new Type instance.


Type

protected Type(Ruby runtime,
               RubyClass klass,
               NativeType type)
Initializes a new Type instance.

Method Detail

createTypeClass

public static RubyClass createTypeClass(Ruby runtime,
                                        RubyModule ffiModule)

getTypeClass

public static final RubyClass getTypeClass(Ruby runtime)

getNativeType

public final NativeType getNativeType()
Gets the native type of this Type when passed as a parameter

Returns:
The native type of this Type.

getNativeSize

public final int getNativeSize()
Gets the native size of this Type in bytes

Returns:
The native size of this Type.

getNativeAlignment

public final int getNativeAlignment()
Gets the native alignment of this Type in bytes

Returns:
The native alignment of this Type.

size

public IRubyObject size(ThreadContext context)
Gets the native size of this Type in bytes

Parameters:
context - The Ruby thread context.
Returns:
The native size of this Type.

alignment

public IRubyObject alignment(ThreadContext context)
Gets the native alignment of this Type in bytes

Parameters:
context - The Ruby thread context.
Returns:
The native alignment of this Type.


Copyright © 2002-2009 JRuby Team. All Rights Reserved.