Package org.jruby.ir.instructions
Class ReceiveOptArgInstr
- All Implemented Interfaces:
ArgReceiver
,FixedArityInstr
,ResultInstr
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal int
opt args follow pre argsfinal int
total number of required args (pre + post)Fields 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
ConstructorsConstructorDescriptionReceiveOptArgInstr
(Variable result, Variable keywords, int optArgIndex, int requiredArgs, int preArgs) -
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 ReceiveOptArgInstr
void
int
int
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
-
preArgs
public final int preArgsopt args follow pre args -
requiredArgs
public final int requiredArgstotal number of required args (pre + post)
-
-
Constructor Details
-
ReceiveOptArgInstr
-
-
Method Details
-
toStringNonOperandArgs
- Overrides:
toStringNonOperandArgs
in classInstr
-
getPreArgs
public int getPreArgs() -
getRequiredArgs
public int getRequiredArgs() -
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
-