Package org.jruby.ir.instructions
Class ReceiveOptArgInstr
- All Implemented Interfaces:
ArgReceiver,FixedArityInstr,ResultInstr
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal intopt args follow pre argsfinal inttotal number of required args (pre + post)Fields inherited from class org.jruby.ir.instructions.ReceiveIndexedArgBase
argIndexFields inherited from class org.jruby.ir.instructions.ResultBaseInstr
resultFields 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 ReceiveOptArgInstrvoidintintreceiveArg(ThreadContext context, IRubyObject self, DynamicScope currDynScope, StaticScope currScope, Object[] temp, IRubyObject[] args, boolean ruby2keyword) String[]voidMethods inherited from class org.jruby.ir.instructions.ReceiveIndexedArgBase
getArgIndexMethods inherited from class org.jruby.ir.instructions.ReceiveArgBase
getKeywordsMethods inherited from class org.jruby.ir.instructions.OneOperandResultBaseInstr
getOperand1, getOperands, setOperand, setOperand1Methods inherited from class org.jruby.ir.instructions.ResultBaseInstr
getResult, updateResultMethods 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:
toStringNonOperandArgsin classInstr
-
getPreArgs
public int getPreArgs() -
getRequiredArgs
public int getRequiredArgs() -
clone
Description copied from class:InstrClone 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:
encodein classReceiveIndexedArgBase
-
decode
-
receiveArg
public IRubyObject receiveArg(ThreadContext context, IRubyObject self, DynamicScope currDynScope, StaticScope currScope, Object[] temp, IRubyObject[] args, boolean ruby2keyword) - Specified by:
receiveArgin interfaceArgReceiver- Overrides:
receiveArgin classReceiveArgBase
-
visit
-