Package org.jruby.ir.instructions
Class ReceiveRestArgInstr
- All Implemented Interfaces:
ArgReceiver
,FixedArityInstr
,ResultInstr
-
Field Summary
FieldsFields inherited from class org.jruby.ir.instructions.ReceiveIndexedArgBase
argIndex
Fields inherited from class org.jruby.ir.instructions.ResultBaseInstr
result
Fields inherited from class org.jruby.ir.instructions.Instr
EMPTY_OPERANDS
-
Constructor Summary
ConstructorsConstructorDescriptionReceiveRestArgInstr
(Variable result, Variable keywords, int argIndex, int required) -
Method Summary
Modifier and TypeMethodDescriptionClone 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).static ReceiveRestArgInstr
void
receiveArg
(ThreadContext context, IRubyObject self, DynamicScope currDynScope, StaticScope currScope, Object[] temp, IRubyObject[] args, boolean ruby2keyword) String[]
void
Methods inherited from class org.jruby.ir.instructions.ReceiveIndexedArgBase
getArgIndex
Methods inherited from class org.jruby.ir.instructions.ReceiveArgBase
getKeywords
Methods inherited from class org.jruby.ir.instructions.OneOperandResultBaseInstr
getOperand1, getOperands, setOperand, setOperand1
Methods inherited from class org.jruby.ir.instructions.ResultBaseInstr
getResult, updateResult
Methods inherited from class org.jruby.ir.instructions.Instr
canBeDeletedFromScope, canRaiseException, cloneOperands, computeScopeFlags, dumpableFields, getOperation, getUsedVariables, hasSideEffects, interpret, interpretAndGetNewIPC, isDead, isDeletable, markDead, renameVars, simplifyInstr, simplifyOperands, simplifyOperands, toString, transfersControl
-
Field Details
-
required
public final int requiredNumber of arguments already accounted for
-
-
Constructor Details
-
ReceiveRestArgInstr
-
-
Method Details
-
toStringNonOperandArgs
- Overrides:
toStringNonOperandArgs
in classInstr
-
clone
Description copied from class:Instr
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. -
encode
- Overrides:
encode
in classReceiveIndexedArgBase
-
decode
-
receiveArg
public IRubyObject receiveArg(ThreadContext context, IRubyObject self, DynamicScope currDynScope, StaticScope currScope, Object[] temp, IRubyObject[] args, boolean ruby2keyword) - Specified by:
receiveArg
in interfaceArgReceiver
- Overrides:
receiveArg
in classReceiveArgBase
-
visit
-