Top Fields Constructors Methods
org.jruby.ir.instructions

public Class ReceiveOptArgInstr

extends ReceiveIndexedArgBase
implements FixedArityInstr
Class Inheritance
All Implemented Interfaces
org.jruby.ir.instructions.FixedArityInstr
Imports
org.jruby.ir.IRVisitor, .Operation, org.jruby.ir.operands.UndefinedValue, .Variable, org.jruby.ir.persistence.IRReaderDecoder, .IRWriterEncoder, org.jruby.ir.runtime.IRRuntimeHelpers, org.jruby.ir.transformations.inlining.CloneInfo, .InlineCloneInfo, .SimpleCloneInfo, org.jruby.parser.StaticScope, org.jruby.runtime.DynamicScope, .ThreadContext, org.jruby.runtime.builtin.IRubyObject

Field Summary

Modifier and TypeField and Description
public final int
preArgs

opt args follow pre args

public final int
requiredArgs

total number of required args (pre + post)

Inherited from org.jruby.ir.instructions.ReceiveIndexedArgBase:
argIndex

Constructor Summary

AccessConstructor and Description
public
ReceiveOptArgInstr(Variable result, Variable keywords, int optArgIndex, int requiredArgs, int preArgs)

Method Summary

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

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 ReceiveOptArgInstr
public void
public int
public int
public IRubyObject
public String[]
public void
Inherited from org.jruby.ir.instructions.ReceiveIndexedArgBase:
getArgIndex

Field Detail

preArgsback to summary
public final int preArgs

opt args follow pre args

requiredArgsback to summary
public final int requiredArgs

total number of required args (pre + post)

Constructor Detail

ReceiveOptArgInstrback to summary
public ReceiveOptArgInstr(Variable result, Variable keywords, int optArgIndex, int requiredArgs, int preArgs)

Method Detail

cloneback to summary
public Instr clone(CloneInfo info)

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
info: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 ReceiveOptArgInstr decode(IRReaderDecoder d)
encodeback to summary
public void encode(IRWriterEncoder e)

Overrides org.jruby.ir.instructions.ReceiveIndexedArgBase.encode.

Annotations
@Override
getPreArgsback to summary
public int getPreArgs()
getRequiredArgsback to summary
public int getRequiredArgs()
receiveArgback to summary
public IRubyObject receiveArg(ThreadContext context, IRubyObject self, DynamicScope currDynScope, StaticScope currScope, Object[] temp, IRubyObject[] args, boolean ruby2keyword)

Overrides org.jruby.ir.instructions.ReceiveArgBase.receiveArg.

Implements org.jruby.ir.instructions.ArgReceiver.receiveArg.

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