Package org.jruby.ir.instructions
Class ReceiveOptArgInstr
java.lang.Object
org.jruby.ir.instructions.Instr
org.jruby.ir.instructions.ResultBaseInstr
org.jruby.ir.instructions.NoOperandResultBaseInstr
org.jruby.ir.instructions.ReceiveArgBase
org.jruby.ir.instructions.ReceiveOptArgInstr
- All Implemented Interfaces:
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.ReceiveArgBase
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, int requiredArgs, int preArgs, int optArgIndex) -
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[] args, boolean acceptsKeywordArgument) String[]voidMethods inherited from class org.jruby.ir.instructions.ReceiveArgBase
getArgIndexMethods inherited from class org.jruby.ir.instructions.NoOperandResultBaseInstr
getOperands, setOperandMethods 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, simplifyAndGetResult, 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 classReceiveArgBase
-
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 classResultBaseInstr
-
decode
-
receiveArg
public IRubyObject receiveArg(ThreadContext context, IRubyObject[] args, boolean acceptsKeywordArgument) - Overrides:
receiveArgin classReceiveArgBase
-
visit
-