public abstract class Type extends RubyObject
| Modifier and Type | Class and Description |
|---|---|
static class |
Type.Array |
static class |
Type.Builtin |
RubyObject.DataRubyBasicObject.Finalizer| Modifier and Type | Field and Description |
|---|---|
protected int |
alignment
Minimum alignment of this type in bytes
|
private static java.util.Locale |
LOCALE |
protected NativeType |
nativeType |
protected int |
size
Size of this type in bytes
|
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| Modifier | Constructor and Description |
|---|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
IRubyObject |
alignment(ThreadContext context)
Gets the native alignment of this Type in bytes
|
static RubyClass |
createTypeClass(Ruby runtime,
RubyModule ffiModule) |
private static void |
defineBuiltinType(Ruby runtime,
RubyClass builtinClass,
NativeType nativeType,
java.lang.String... names) |
int |
getNativeAlignment()
Gets the native alignment of this Type in bytes
|
private static int |
getNativeAlignment(NativeType type) |
int |
getNativeSize()
Gets the native size of this Type in bytes
|
private static int |
getNativeSize(NativeType type) |
NativeType |
getNativeType()
Gets the native type of this Type when passed as a parameter
|
static RubyClass |
getTypeClass(Ruby runtime) |
private static boolean |
isPrimitive(NativeType type) |
IRubyObject |
size(ThreadContext context)
Gets the native size of this Type in bytes
|
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, equals, getNativeTypeIndex, hashCode, 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 static final java.util.Locale LOCALE
protected final NativeType nativeType
protected final int size
protected final int alignment
protected Type(Ruby runtime, RubyClass klass, NativeType type, int size, int alignment)
protected Type(Ruby runtime, RubyClass klass, NativeType type)
public static RubyClass createTypeClass(Ruby runtime, RubyModule ffiModule)
private static final void defineBuiltinType(Ruby runtime, RubyClass builtinClass, NativeType nativeType, java.lang.String... names)
public final NativeType getNativeType()
public final int getNativeSize()
public final int getNativeAlignment()
public IRubyObject size(ThreadContext context)
context - The Ruby thread context.public IRubyObject alignment(ThreadContext context)
context - The Ruby thread context.private static final boolean isPrimitive(NativeType type)
private static final int getNativeAlignment(NativeType type)
private static final int getNativeSize(NativeType type)