Top Description Constructors Methods
org.jruby.internal.runtime.methods

public Class InterpretedIRBodyMethod

extends InterpretedIRMethod
Class Inheritance
Imports
org.jruby.RubyModule, org.jruby.ir.IRScope, org.jruby.ir.interpreter.Interpreter, org.jruby.ir.runtime.IRRuntimeHelpers, org.jruby.runtime.ArgumentDescriptor, .Block, .ThreadContext, .Visibility, org.jruby.runtime.builtin.IRubyObject

Created by enebo on 2/6/15.

Constructor Summary

AccessConstructor and Description
public
InterpretedIRBodyMethod(IRScope method, RubyModule implementationClass)

Method Summary

Modifier and TypeMethod and Description
public IRubyObject
call(ThreadContext
The thread context for the currently executing thread
context
,
IRubyObject
The 'self' or 'receiver' object to use for this call
self
,
RubyModule
The Ruby class against which this method is binding
clazz
,
String
The incoming name used to invoke this method
name
,
IRubyObject[]
The argument list to this invocation
args
,
Block
The block passed to this invocation
block
)

Overrides org.jruby.internal.runtime.methods.InterpretedIRMethod.call.

The minimum 'call' method required for a dynamic method handle.

public IRubyObject
public IRubyObject
public IRubyObject
public IRubyObject
public IRubyObject
call(ThreadContext
The thread context for the currently executing thread
context
,
IRubyObject
The 'self' or 'receiver' object to use for this call
self
,
RubyModule
The Ruby class against which this method is binding
clazz
,
String
The incoming name used to invoke this method
name
,
IRubyObject[]
The first argument to this invocation
args
)

Overrides org.jruby.internal.runtime.methods.InterpretedIRMethod.call.

A default implementation of n-arity, non-block 'call' method, which simply calls the n-arity, block-receiving version with the arg list and Block.NULL_BLOCK.

public IRubyObject
public IRubyObject
public IRubyObject
public IRubyObject
protected IRubyObject
public ArgumentDescriptor[]
getArgumentDescriptors()

Overrides org.jruby.internal.runtime.AbstractIRMethod.getArgumentDescriptors.

Implements org.jruby.internal.runtime.methods.IRMethodArgs.getArgumentDescriptors.

Get the array of ArgumentDescriptors that represent the arguments to this method.

Inherited from org.jruby.internal.runtime.methods.InterpretedIRMethod:
completeBuilddoDebugfinishSplitCallgetClassNamepostpreSplitprintMethodIRstartSplitSuperCall

Constructor Detail

InterpretedIRBodyMethodback to summary
public InterpretedIRBodyMethod(IRScope method, RubyModule implementationClass)

Method Detail

callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args, Block block)

Overrides org.jruby.internal.runtime.methods.InterpretedIRMethod.call.

Doc from org.jruby.internal.runtime.methods.DynamicMethod.call.

The minimum 'call' method required for a dynamic method handle. Subclasses must implement this method, but may implement the other signatures to provide faster, non-boxing call paths. Typically subclasses will implement this method to check variable arity calls, then performing a specific-arity invocation to the appropriate method or performing variable-arity logic in-line.

Parameters
context:ThreadContext

The thread context for the currently executing thread

self:IRubyObject

The 'self' or 'receiver' object to use for this call

clazz:RubyModule

The Ruby class against which this method is binding

name:String

The incoming name used to invoke this method

args:IRubyObject[]

The argument list to this invocation

block:Block

The block passed to this invocation

Returns:IRubyObject

The result of the call

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, Block block)

Overrides org.jruby.internal.runtime.methods.InterpretedIRMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, Block block)

Overrides org.jruby.internal.runtime.methods.InterpretedIRMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, Block block)

Overrides org.jruby.internal.runtime.methods.InterpretedIRMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)

Overrides org.jruby.internal.runtime.methods.InterpretedIRMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args)

Overrides org.jruby.internal.runtime.methods.InterpretedIRMethod.call.

Doc from org.jruby.internal.runtime.methods.DynamicMethod.call.

A default implementation of n-arity, non-block 'call' method, which simply calls the n-arity, block-receiving version with the arg list and Block.NULL_BLOCK.

Parameters
context:ThreadContext

The thread context for the currently executing thread

self:IRubyObject

The 'self' or 'receiver' object to use for this call

clazz:RubyModule

The Ruby class against which this method is binding

name:String

The incoming name used to invoke this method

args:IRubyObject[]

The first argument to this invocation

Returns:IRubyObject

The result of the call

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name)

Overrides org.jruby.internal.runtime.methods.InterpretedIRMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0)

Overrides org.jruby.internal.runtime.methods.InterpretedIRMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1)

Overrides org.jruby.internal.runtime.methods.InterpretedIRMethod.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2)

Overrides org.jruby.internal.runtime.methods.InterpretedIRMethod.call.

Annotations
@Override
callInternalback to summary
protected IRubyObject callInternal(ThreadContext context, RubyModule clazz)
getArgumentDescriptorsback to summary
public ArgumentDescriptor[] getArgumentDescriptors()

Overrides org.jruby.internal.runtime.AbstractIRMethod.getArgumentDescriptors.

Implements org.jruby.internal.runtime.methods.IRMethodArgs.getArgumentDescriptors.

Doc from org.jruby.internal.runtime.methods.IRMethodArgs.getArgumentDescriptors.

Get the array of ArgumentDescriptors that represent the arguments to this method.

Returns:ArgumentDescriptor[]

this methods argument descriptors

Annotations
@Override