Top Fields Constructors Methods
org.jruby.ir.instructions

public Class YieldInstr

extends TwoOperandResultBaseInstr
implements FixedArityInstr, Site
Class Inheritance
All Implemented Interfaces
org.jruby.ir.instructions.Site, org.jruby.ir.instructions.FixedArityInstr
Imports
org.jruby.ir.IRVisitor, .Interp, .Operation, org.jruby.ir.operands.Array, .Operand, .UndefinedValue, .Variable, org.jruby.ir.persistence.IRReaderDecoder, .IRWriterEncoder, org.jruby.ir.runtime.IRRuntimeHelpers, org.jruby.ir.transformations.inlining.CloneInfo, org.jruby.parser.StaticScope, org.jruby.runtime.Block, .DynamicScope, .ThreadContext, org.jruby.runtime.builtin.IRubyObject

Field Summary

Modifier and TypeField and Description
private long
private final int
public final boolean

Constructor Summary

AccessConstructor and Description
public
YieldInstr(Variable result, Operand block, Operand arg, int flags, boolean unwrapArray)

Method Summary

Modifier and TypeMethod and Description
public Instr
clone(CloneInfo
This object manages renaming of variables and labels, handles args and return values.
ii
)

Implements abstract org.jruby.ir.instructions.Instr.clone.

Clone the instruction for use in an inlining context (either when a scope is inlined into another scope, or when a block has to be cloned because its associated call belongs to an inlined scope).

public static YieldInstr
public void
public Operand
public long
public int
public Operand
public Object
public boolean
public void
public String[]
public void
Inherited from org.jruby.ir.instructions.TwoOperandResultBaseInstr:
getOperand1getOperand2getOperandssetOperandsetOperand1setOperand2

Field Detail

callSiteIdback to summary
private long callSiteId
flagsback to summary
private final int flags
unwrapArrayback to summary
public final boolean unwrapArray

Constructor Detail

YieldInstrback to summary
public YieldInstr(Variable result, Operand block, Operand arg, int flags, boolean unwrapArray)

Method Detail

cloneback to summary
public Instr clone(CloneInfo ii)

Implements abstract org.jruby.ir.instructions.Instr.clone.

Doc from org.jruby.ir.instructions.Instr.clone.

Clone the instruction for use in an inlining context (either when a scope is inlined into another scope, or when a block has to be cloned because its associated call belongs to an inlined scope). This might renaming variables and labels to eliminate naming conflicts. The implementation might vary on the cloning mode.

Parameters
ii:CloneInfo

This object manages renaming of variables and labels, handles args and return values.

Returns:Instr

a new instruction that can be used in the target scope.

Annotations
@Override
decodeback to summary
public static YieldInstr decode(IRReaderDecoder d)
encodeback to summary
public void encode(IRWriterEncoder e)

Overrides org.jruby.ir.instructions.ResultBaseInstr.encode.

Annotations
@Override
getBlockArgback to summary
public Operand getBlockArg()
getCallSiteIdback to summary
public long getCallSiteId()

Implements org.jruby.ir.instructions.Site.getCallSiteId.

Annotations
@Override
getFlagsback to summary
public int getFlags()
getYieldArgback to summary
public Operand getYieldArg()
interpretback to summary
public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp)

Overrides org.jruby.ir.instructions.Instr.interpret.

Annotations
@Interp
@Override
isUnwrapArrayback to summary
public boolean isUnwrapArray()
setCallSiteIdback to summary
public void setCallSiteId(long callSiteId)

Implements org.jruby.ir.instructions.Site.setCallSiteId.

Annotations
@Override
toStringNonOperandArgsback to summary
public String[] toStringNonOperandArgs()

Overrides org.jruby.ir.instructions.Instr.toStringNonOperandArgs.

Annotations
@Override
visitback to summary
public void visit(IRVisitor visitor)

Overrides org.jruby.ir.instructions.Instr.visit.

Annotations
@Override