org.jruby
Class RubyMethod

java.lang.Object
  extended by org.jruby.RubyBasicObject
      extended by org.jruby.RubyObject
          extended by org.jruby.RubyMethod
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType
Direct Known Subclasses:
RubyUnboundMethod

public class RubyMethod
extends RubyObject

The RubyMethod class represents a RubyMethod object. You can get such a method by calling the "method" method of an object. Note: This was renamed from Method.java

Since:
0.2.3
Author:
jpetersen
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.ObjectMethods
 
Nested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.BasicObjectMethods, RubyBasicObject.Finalizer, RubyBasicObject.VariableTableEntry
 
Field Summary
protected  RubyModule implementationModule
           
protected  DynamicMethod method
           
protected  java.lang.String methodName
           
protected  RubyModule originModule
           
protected  java.lang.String originName
           
protected  IRubyObject receiver
           
 
Fields inherited from class org.jruby.RubyObject
OBJECT_ALLOCATOR
 
Fields inherited from class org.jruby.RubyBasicObject
ALL_F, dataStruct, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, TAINTED_F, UNDEF, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, VARIABLE_TABLE_DEFAULT_CAPACITY, VARIABLE_TABLE_EMPTY_TABLE, VARIABLE_TABLE_LOAD_FACTOR, VARIABLE_TABLE_MAXIMUM_CAPACITY, variableTable, variableTableSize, variableTableThreshold
 
Fields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY
 
Constructor Summary
protected RubyMethod(Ruby runtime, RubyClass rubyClass)
           
 
Method Summary
 RubyFixnum arity()
          Returns the number of arguments a method accepted.
static IRubyObject bmcall(IRubyObject blockArg, IRubyObject arg1, IRubyObject self, Block unusedBlock)
          Delegate a block call to a bound method call.
 IRubyObject call(ThreadContext context, Block block)
          Call the method.
 IRubyObject call(ThreadContext context, IRubyObject[] args, Block block)
           
 IRubyObject call(ThreadContext context, IRubyObject arg, Block block)
           
 IRubyObject call(ThreadContext context, IRubyObject arg0, IRubyObject arg1, Block block)
           
 IRubyObject call(ThreadContext context, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
           
static RubyClass createMethodClass(Ruby runtime)
          Create the RubyMethod class and add it to the Ruby runtime.
 IRubyObject inspect()
          rb_obj_inspect call-seq: obj.inspect => string Returns a string containing a human-readable representation of obj.
 IRubyObject name(ThreadContext context)
           
static RubyMethod newMethod(RubyModule implementationModule, java.lang.String methodName, RubyModule originModule, java.lang.String originName, DynamicMethod method, IRubyObject receiver)
           
 RubyBoolean op_equal(ThreadContext context, IRubyObject other)
          rb_obj_equal Will by default use identity equality to compare objects.
 IRubyObject owner(ThreadContext context)
           
 RubyMethod rbClone()
          rb_obj_clone This method should be overridden only by: Proc, Method, UnboundedMethod, Binding.
 IRubyObject receiver(ThreadContext context)
           
 IRubyObject to_proc(ThreadContext context, Block unusedBlock)
          Create a Proc object.
 RubyUnboundMethod unbind(Block unusedBlock)
           
 
Methods inherited from class org.jruby.RubyObject
as, attachToObjectSpace, callInit, checkFrozen, convertToType, createObjectClass, display, dup, eql_p, eqlInternal, equal_p, equalInternal, equals, evalUnder, evalUnder, extend, freeze, frozen_p, getNativeTypeIndex, hash, hashCode, id_deprecated, id, initialize_copy, initialize, 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, kind_of_p, method, methods, nil_p, op_eqq, op_match, private_methods, protected_methods, public_methods, puts, remove_instance_variable, respond_to_p, respond_to_p, send, send, send, send, send, singleton_methods, singleton_methods19, singletonMethods, specificEval, specificEval, specificEval, specificEval, specificEval, taint, tainted_p, to_a, to_java, to_s, toString, type_deprecated, type, untaint, validateInstanceVariable
 
Methods inherited from class org.jruby.RubyBasicObject
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkStringType, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataWrapStruct, ensureInstanceVariablesSettable, eql, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, getFlag, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariableList, getInternalVariables, getJavaClass, getMetaClass, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariableCount, getVariableList, getVariableMap, getVariableNameList, hasInstanceVariable, hasInternalVariable, hasVariables, infectBy, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isRubyVariable, isTaint, isTrue, makeMetaClass, op_not_equal, op_not, removeFinalizers, removeInstanceVariable, removeInternalVariable, respondsTo, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setTaint, syncVariables, taint, testFrozen, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableGetMap, variableTableGetMap, variableTableGetSize, variableTableGetTable, variableTableReadLocked, variableTableRehash, variableTableRemove, variableTableStore, variableTableSync
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

implementationModule

protected RubyModule implementationModule

methodName

protected java.lang.String methodName

originModule

protected RubyModule originModule

originName

protected java.lang.String originName

method

protected DynamicMethod method

receiver

protected IRubyObject receiver
Constructor Detail

RubyMethod

protected RubyMethod(Ruby runtime,
                     RubyClass rubyClass)
Method Detail

createMethodClass

public static RubyClass createMethodClass(Ruby runtime)
Create the RubyMethod class and add it to the Ruby runtime.


newMethod

public static RubyMethod newMethod(RubyModule implementationModule,
                                   java.lang.String methodName,
                                   RubyModule originModule,
                                   java.lang.String originName,
                                   DynamicMethod method,
                                   IRubyObject receiver)

call

public IRubyObject call(ThreadContext context,
                        Block block)
Call the method.


call

public IRubyObject call(ThreadContext context,
                        IRubyObject arg,
                        Block block)

call

public IRubyObject call(ThreadContext context,
                        IRubyObject arg0,
                        IRubyObject arg1,
                        Block block)

call

public IRubyObject call(ThreadContext context,
                        IRubyObject arg0,
                        IRubyObject arg1,
                        IRubyObject arg2,
                        Block block)

call

public IRubyObject call(ThreadContext context,
                        IRubyObject[] args,
                        Block block)

arity

public RubyFixnum arity()
Returns the number of arguments a method accepted.

Returns:
the number of arguments of a method.

op_equal

public RubyBoolean op_equal(ThreadContext context,
                            IRubyObject other)
Description copied from class: RubyObject
rb_obj_equal Will by default use identity equality to compare objects. This follows the Ruby semantics.

Specified by:
op_equal in interface IRubyObject
Overrides:
op_equal in class RubyObject

rbClone

public RubyMethod rbClone()
Description copied from class: RubyObject
rb_obj_clone This method should be overridden only by: Proc, Method, UnboundedMethod, Binding. It will use the defined allocated of the object, then clone the singleton class, taint the object, call initCopy and then copy frozen state.

Specified by:
rbClone in interface IRubyObject
Overrides:
rbClone in class RubyObject
Returns:
IRubyObject

to_proc

public IRubyObject to_proc(ThreadContext context,
                           Block unusedBlock)
Create a Proc object.


bmcall

public static IRubyObject bmcall(IRubyObject blockArg,
                                 IRubyObject arg1,
                                 IRubyObject self,
                                 Block unusedBlock)
Delegate a block call to a bound method call. Used by the RubyMethod#to_proc method.


unbind

public RubyUnboundMethod unbind(Block unusedBlock)

inspect

public IRubyObject inspect()
Description copied from class: RubyObject
rb_obj_inspect call-seq: obj.inspect => string Returns a string containing a human-readable representation of obj. If not overridden, uses the to_s method to generate the string. [ 1, 2, 3..4, 'five' ].inspect #=> "[1, 2, 3..4, \"five\"]" Time.new.inspect #=> "Wed Apr 09 08:54:39 CDT 2003"

Specified by:
inspect in interface IRubyObject
Overrides:
inspect in class RubyObject
Returns:
String

name

public IRubyObject name(ThreadContext context)

receiver

public IRubyObject receiver(ThreadContext context)

owner

public IRubyObject owner(ThreadContext context)


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