Package org.jruby.ext.ffi
Class CallbackInfo
java.lang.Object
org.jruby.RubyBasicObject
org.jruby.RubyObject
org.jruby.ext.ffi.Type
org.jruby.ext.ffi.CallbackInfo
- All Implemented Interfaces:
Serializable,Cloneable,Comparable<IRubyObject>,InstanceVariables,InternalVariables,IRubyObject,CoreObjectType
Defines a C callback's parameters and return type.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.jruby.ext.ffi.Type
Type.Array, Type.BuiltinNested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.DataNested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.Finalizer -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ArityThe arity of this function.static final Stringprotected final Type[]protected final Typeprotected final booleanFields inherited from class org.jruby.ext.ffi.Type
alignment, nativeType, sizeFields 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, 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
ConstructorsConstructorDescriptionCallbackInfo(Ruby runtime, RubyClass klazz, Type returnType, Type[] paramTypes, boolean stdcall) Creates a newCallbackInfoinstance. -
Method Summary
Modifier and TypeMethodDescriptionstatic RubyClasscreateCallbackInfoClass(ThreadContext context, RubyModule module, RubyClass Type) final AritygetArity()Returns theArityof this function.final Type[]Gets the ruby parameter types of the callbackfinal TypeGets the native return type the callback should returnfinal booleanstatic final IRubyObjectnewCallbackInfo(ThreadContext context, IRubyObject klass, IRubyObject[] args) CallbackInfo.newfinal IRubyObjectparam_types(ThreadContext context) final IRubyObjectresult_type(ThreadContext context) final IRubyObjectto_s(ThreadContext context) final StringtoString()The default toString method is just a wrapper that calls the Ruby "to_s" method.Methods inherited from class org.jruby.ext.ffi.Type
alignment, createTypeClass, getNativeAlignment, getNativeSize, getNativeType, getTypeClass, sizeMethods inherited from class org.jruby.RubyObject
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, dig, dig1, dig2, eqlInternal, equalInternal, equals, finishObjectClass, getNativeClassIndex, hashCode, inspect, op_eqq, puts, specificEval, toRubyStringMethods inherited from class org.jruby.RubyBasicObject
addFinalizer, addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkCallMethod, checkFrozen, checkStringType, cloneSetup, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, dataGetStruct, dataGetStructChecked, dataWrapStruct, decode, display, dup, dupFinalizer, dupSetup, ensureInstanceVariablesSettable, eql, eql_p, eql_p, equal_p, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, finishBasicObjectClass, forEachInstanceVariable, forEachInstanceVariableName, freeze, frozen_p, getCurrentContext, getFFIHandle, getFlag, getInstanceEvalClass, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMarshalVariableList, getMetaClass, getMetaClass, getNativeHandle, getNativeTypeIndex, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getSingletonClassCloneAndAttach, getSingletonClassCloneAndAttach, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hash, hashyInspect, hasInstanceVariable, hasInstanceVariables, hasInternalVariable, hasVariables, id, infectBy, initialize, initialize_copy, initialize_copy, inspect, inspect, inspectHashCode, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval, instance_exec, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, isBuiltin, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isSpecialConst, isSpecialObject, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, makeMetaClass, makeMetaClassBootstrap, method, method, method, method_missing, methods, methods, nil_p, nonFixnumHashCode, nonFixnumHashCode, OBJ_INIT_COPY, objInitCopy, op_cmp, op_equal, op_match, op_not, op_not_equal, op_not_match, private_methods, protected_methods, public_methods, rbClone, rbClone, rbInspect, remove_instance_variable, removeFinalizers, removeInstanceVariable, removeInternalVariable, respond_to_p, respond_to_p, respondsTo, respondsToMissing, respondsToMissing, send, send, send, send, send, setFFIHandle, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setNativeHandle, setTaint, setUntrusted, setVariable, singleton_method, singleton_method, singleton_method_added, singleton_method_removed, singleton_method_undefined, singleton_methods, singletonClass, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted_p, testFrozen, testFrozen, to_a, to_a, to_s, toJava, trust, type, untaint, untrust, untrusted_p, validateInstanceVariable, validateInstanceVariable, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnderMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.jruby.runtime.builtin.IRubyObject
checkStringType19, dup, marshalLiveVariables
-
Field Details
-
CLASS_NAME
- See Also:
-
arity
The arity of this function. -
parameterTypes
-
returnType
-
stdcall
protected final boolean stdcall
-
-
Constructor Details
-
CallbackInfo
public CallbackInfo(Ruby runtime, RubyClass klazz, Type returnType, Type[] paramTypes, boolean stdcall) Creates a newCallbackInfoinstance.- Parameters:
runtime- The runtime to create the instance forklazz- The ruby class of the CallbackInfo instancereturnType- The return type of the callbackparamTypes- The parameter types of the callback
-
-
Method Details
-
createCallbackInfoClass
public static RubyClass createCallbackInfoClass(ThreadContext context, RubyModule module, RubyClass Type) -
newCallbackInfo
public static final IRubyObject newCallbackInfo(ThreadContext context, IRubyObject klass, IRubyObject[] args) CallbackInfo.new- Parameters:
context- The current ruby thread contextklass- The ruby class of the CallbackInfo instanceargs- An array containing the ruby parameter types- Returns:
- A new CallbackInfo instance
-
getArity
Returns theArityof this function.- Returns:
- The
Arityof the native function.
-
getReturnType
Gets the native return type the callback should return- Returns:
- The native return type
-
getParameterTypes
Gets the ruby parameter types of the callback- Returns:
- An array of the parameter types
-
isStdcall
public final boolean isStdcall() -
to_s
- Overrides:
to_sin classRubyBasicObject
-
toString
Description copied from class:RubyObjectThe default toString method is just a wrapper that calls the Ruby "to_s" method.- Overrides:
toStringin classRubyObject- Returns:
- string representation
-
result_type
-
param_types
-