Top Fields Constructors Methods
org.jruby.runtime

public abstract Class IRBlockBody

extends ContextAwareBlockBody
Class Inheritance
Known Direct Subclasses
org.jruby.runtime.MixedModeIRBlockBody, org.jruby.runtime.CompiledIRBlockBody, org.jruby.runtime.InterpretedIRBlockBody
Imports
org.jruby.RubyArray, org.jruby.ir.IRClosure, .IRScope, org.jruby.ir.interpreter.InterpreterContext, org.jruby.ir.runtime.IRRuntimeHelpers, org.jruby.parser.StaticScope, org.jruby.runtime.builtin.IRubyObject

Field Summary

Modifier and TypeField and Description
protected final String
protected final int
Inherited from org.jruby.runtime.ContextAwareBlockBody:
scope

Constructor Summary

AccessConstructor and Description
public
IRBlockBody(IRScope closure, Signature signature)

public
IRBlockBody(StaticScope scope, String file, int line, Signature signature)

Method Summary

Modifier and TypeMethod and Description
public IRubyObject
public IRubyObject
public IRubyObject
public IRubyObject
public IRubyObject
public IRubyObject
call(ThreadContext context, Block block, IRubyObject[] args, Block blockArg)

Overrides org.jruby.runtime.BlockBody.call.

public abstract boolean
protected abstract IRubyObject
commonYieldPath(ThreadContext context, Block block, IRubyObject[] args, IRubyObject self, Block blockArg)

public IRubyObject
doYield(ThreadContext context, Block block, IRubyObject value)

Implements abstract org.jruby.runtime.BlockBody.doYield.

Subclass specific yield implementation.

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

Implements abstract org.jruby.runtime.BlockBody.doYield.

Subclass specific yield implementation.

protected IRubyObject
public String
getFile()

Implements abstract org.jruby.runtime.BlockBody.getFile.

Get the filename for this block

public int
getLine()

Implements abstract org.jruby.runtime.BlockBody.getLine.

get The line number for this block

public IRClosure
public boolean
isRubyBlock()

Overrides org.jruby.runtime.BlockBody.isRubyBlock.

Is this block represented by Ruby code?

pack-priv static void
postYield(ThreadContext context, InterpreterContext ic, Binding binding, Visibility oldVis, Frame prevFrame)

public static IRubyObject[]
public IRubyObject
public IRubyObject
public IRubyObject
public IRubyObject
private IRubyObject
Inherited from org.jruby.runtime.ContextAwareBlockBody:
getStaticScopepostpresetStaticScope

Field Detail

fileNameback to summary
protected final String fileName
lineNumberback to summary
protected final int lineNumber

Constructor Detail

IRBlockBodyback to summary
public IRBlockBody(IRScope closure, Signature signature)
IRBlockBodyback to summary
public IRBlockBody(StaticScope scope, String file, int line, Signature signature)

Method Detail

callback to summary
public IRubyObject call(ThreadContext context, Block block)

Overrides org.jruby.runtime.BlockBody.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, Block block, IRubyObject arg0)

Overrides org.jruby.runtime.BlockBody.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, Block block, IRubyObject arg0, IRubyObject arg1)

Overrides org.jruby.runtime.BlockBody.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, Block block, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2)

Overrides org.jruby.runtime.BlockBody.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, Block block, IRubyObject[] args)

Overrides org.jruby.runtime.BlockBody.call.

Annotations
@Override
callback to summary
public IRubyObject call(ThreadContext context, Block block, IRubyObject[] args, Block blockArg)

Overrides org.jruby.runtime.BlockBody.call.

Annotations
@Override
canCallDirectback to summary
public abstract boolean canCallDirect()

Overrides org.jruby.runtime.BlockBody.canCallDirect.

Annotations
@Override
commonYieldPathback to summary
protected abstract IRubyObject commonYieldPath(ThreadContext context, Block block, IRubyObject[] args, IRubyObject self, Block blockArg)
doYieldback to summary
public IRubyObject doYield(ThreadContext context, Block block, IRubyObject value)

Implements abstract org.jruby.runtime.BlockBody.doYield.

Doc from org.jruby.runtime.BlockBody.doYield.

Subclass specific yield implementation.

Should not be called directly. Gets called by yield(ThreadContext, Block, org.jruby.runtime.builtin.IRubyObject) after ensuring that any common yield logic is taken care of.

Annotations
@Override
doYieldback to summary
public IRubyObject doYield(ThreadContext context, Block block, IRubyObject[] args, IRubyObject self)

Implements abstract org.jruby.runtime.BlockBody.doYield.

Doc from org.jruby.runtime.BlockBody.doYield.

Subclass specific yield implementation.

Should not be called directly. Gets called by yield(ThreadContext, Block, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.builtin.IRubyObject) after ensuring that all common yield logic is taken care of.

Annotations
@Override
doYieldLambdaback to summary
protected IRubyObject doYieldLambda(ThreadContext context, Block block, IRubyObject value)
getFileback to summary
public String getFile()

Implements abstract org.jruby.runtime.BlockBody.getFile.

Doc from org.jruby.runtime.BlockBody.getFile.

Get the filename for this block

Annotations
@Override
getLineback to summary
public int getLine()

Implements abstract org.jruby.runtime.BlockBody.getLine.

Doc from org.jruby.runtime.BlockBody.getLine.

get The line number for this block

Annotations
@Override
getScopeback to summary
public IRClosure getScope()
isRubyBlockback to summary
public boolean isRubyBlock()

Overrides org.jruby.runtime.BlockBody.isRubyBlock.

Doc from org.jruby.runtime.BlockBody.isRubyBlock.

Is this block represented by Ruby code?

Annotations
@Override
postYieldback to summary
pack-priv static void postYield(ThreadContext context, InterpreterContext ic, Binding binding, Visibility oldVis, Frame prevFrame)
toAryback to summary
public static IRubyObject[] toAry(ThreadContext context, IRubyObject value)
yieldSpecificback to summary
public IRubyObject yieldSpecific(ThreadContext context, Block block)

Overrides org.jruby.runtime.BlockBody.yieldSpecific.

Annotations
@Override
yieldSpecificback to summary
public IRubyObject yieldSpecific(ThreadContext context, Block block, IRubyObject arg0)

Overrides org.jruby.runtime.BlockBody.yieldSpecific.

Annotations
@Override
yieldSpecificback to summary
public IRubyObject yieldSpecific(ThreadContext context, Block block, IRubyObject arg0, IRubyObject arg1)

Overrides org.jruby.runtime.BlockBody.yieldSpecific.

Annotations
@Override
yieldSpecificback to summary
public IRubyObject yieldSpecific(ThreadContext context, Block block, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2)

Overrides org.jruby.runtime.BlockBody.yieldSpecific.

Annotations
@Override
yieldSpecificMultiArgsCommonback to summary
private IRubyObject yieldSpecificMultiArgsCommon(ThreadContext context, Block block, IRubyObject... args)