org.jruby.internal.runtime.methods
Class CompiledMethod

java.lang.Object
  extended by org.jruby.internal.runtime.methods.DynamicMethod
      extended by org.jruby.internal.runtime.methods.JavaMethod
          extended by org.jruby.internal.runtime.methods.CompiledMethod
All Implemented Interfaces:
java.lang.Cloneable, JumpTarget
Direct Known Subclasses:
ReflectedCompiledMethod

public abstract class CompiledMethod
extends JavaMethod
implements JumpTarget, java.lang.Cloneable


Nested Class Summary
static class CompiledMethod.LazyCompiledMethod
           
 
Nested classes/interfaces inherited from class org.jruby.internal.runtime.methods.JavaMethod
JavaMethod.JavaMethodNoBlock, JavaMethod.JavaMethodOne, JavaMethod.JavaMethodOneBlock, JavaMethod.JavaMethodOneOrTwo, JavaMethod.JavaMethodOneOrTwoBlock, JavaMethod.JavaMethodOneOrTwoOrThree, JavaMethod.JavaMethodOneOrTwoOrThreeBlock, JavaMethod.JavaMethodThree, JavaMethod.JavaMethodThreeBlock, JavaMethod.JavaMethodTwo, JavaMethod.JavaMethodTwoBlock, JavaMethod.JavaMethodTwoOrThree, JavaMethod.JavaMethodZero, JavaMethod.JavaMethodZeroBlock, JavaMethod.JavaMethodZeroOrOne, JavaMethod.JavaMethodZeroOrOneBlock, JavaMethod.JavaMethodZeroOrOneOrTwo, JavaMethod.JavaMethodZeroOrOneOrTwoBlock, JavaMethod.JavaMethodZeroOrOneOrTwoOrThree, JavaMethod.JavaMethodZeroOrOneOrTwoOrThreeBlock
 
Field Summary
protected  java.lang.Object $scriptObject
           
 
Fields inherited from class org.jruby.internal.runtime.methods.JavaMethod
arity, arityValue, staticScope
 
Fields inherited from class org.jruby.internal.runtime.methods.DynamicMethod
callConfig, implementationClass, protectedClass, visibility
 
Constructor Summary
protected CompiledMethod()
           
  CompiledMethod(RubyModule implementationClass, Arity arity, Visibility visibility, StaticScope staticScope, java.lang.Object scriptObject, CallConfiguration callConfig)
           
 
Method Summary
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name)
          A default implementation of zero arity, non-block 'call' method, which simply calls the zero-arity, block-receiving version with Block.NULL_BLOCK.
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg)
          A default implementation of one-arity, non-block 'call' method, which simply calls the one-arity, block-receiving version with the argument and Block.NULL_BLOCK.
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg1, IRubyObject arg2)
          A default implementation of two-arity, non-block 'call' method, which simply calls the two-arity, block-receiving version with the arguments and Block.NULL_BLOCK.
 IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, java.lang.String name, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3)
          A default implementation of three-arity, non-block 'call' method, which simply calls the three-arity, block-receiving version with the arguments and Block.NULL_BLOCK.
 DynamicMethod dup()
          Duplicate this method, returning DynamicMethod referencing the same code and with the same attributes.
protected  void init(RubyModule implementationClass, Arity arity, Visibility visibility, StaticScope staticScope, java.lang.Object scriptObject, CallConfiguration callConfig)
           
 boolean isNative()
          Returns true if this method is backed by native (i.e.
 
Methods inherited from class org.jruby.internal.runtime.methods.JavaMethod
call, callTrace, getArgumentTypes, getArity, getJavaName, init, isSingleton, postBacktraceAndScope, postBacktraceOnly, postFrameAndScope, postFrameOnly, postScopeOnly, preBacktraceAndScope, preBacktraceOnly, preFrameAndScope, preFrameOnly, preScopeOnly, returnTrace, setArgumentTypes, setArity, setJavaName, setSingleton
 
Methods inherited from class org.jruby.internal.runtime.methods.DynamicMethod
calculateProtectedClass, call, call, call, call, call, getCallConfig, getImplementationClass, getProtectedClass, getRealMethod, getVisibility, handleRedo, handleReturn, init, isCallableFrom, isUndefined, setCallConfig, setImplementationClass, setVisibility
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

$scriptObject

protected java.lang.Object $scriptObject
Constructor Detail

CompiledMethod

public CompiledMethod(RubyModule implementationClass,
                      Arity arity,
                      Visibility visibility,
                      StaticScope staticScope,
                      java.lang.Object scriptObject,
                      CallConfiguration callConfig)

CompiledMethod

protected CompiledMethod()
Method Detail

init

protected void init(RubyModule implementationClass,
                    Arity arity,
                    Visibility visibility,
                    StaticScope staticScope,
                    java.lang.Object scriptObject,
                    CallConfiguration callConfig)

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name)
Description copied from class: DynamicMethod
A default implementation of zero arity, non-block 'call' method, which simply calls the zero-arity, block-receiving version with Block.NULL_BLOCK.

Overrides:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
clazz - The Ruby class against which this method is binding
name - The incoming name used to invoke this method
Returns:
The result of the call

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name,
                        IRubyObject arg)
Description copied from class: DynamicMethod
A default implementation of one-arity, non-block 'call' method, which simply calls the one-arity, block-receiving version with the argument and Block.NULL_BLOCK.

Overrides:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
clazz - The Ruby class against which this method is binding
name - The incoming name used to invoke this method
Returns:
The result of the call

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name,
                        IRubyObject arg1,
                        IRubyObject arg2)
Description copied from class: DynamicMethod
A default implementation of two-arity, non-block 'call' method, which simply calls the two-arity, block-receiving version with the arguments and Block.NULL_BLOCK.

Overrides:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
clazz - The Ruby class against which this method is binding
name - The incoming name used to invoke this method
arg1 - The first argument to this invocation
arg2 - The second argument to this invocation
Returns:
The result of the call

call

public IRubyObject call(ThreadContext context,
                        IRubyObject self,
                        RubyModule clazz,
                        java.lang.String name,
                        IRubyObject arg1,
                        IRubyObject arg2,
                        IRubyObject arg3)
Description copied from class: DynamicMethod
A default implementation of three-arity, non-block 'call' method, which simply calls the three-arity, block-receiving version with the arguments and Block.NULL_BLOCK.

Overrides:
call in class DynamicMethod
Parameters:
context - The thread context for the currently executing thread
self - The 'self' or 'receiver' object to use for this call
clazz - The Ruby class against which this method is binding
name - The incoming name used to invoke this method
arg1 - The first argument to this invocation
arg2 - The second argument to this invocation
Returns:
The result of the call

dup

public DynamicMethod dup()
Description copied from class: DynamicMethod
Duplicate this method, returning DynamicMethod referencing the same code and with the same attributes. It is not required that this method produce a new object if the semantics of the DynamicMethod subtype do not require such.

Overrides:
dup in class JavaMethod
Returns:
An identical DynamicMethod object to the target.

isNative

public boolean isNative()
Description copied from class: DynamicMethod
Returns true if this method is backed by native (i.e. Java) code.

Overrides:
isNative in class JavaMethod
Returns:
true If backed by Java code or JVM bytecode; false otherwise


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