public class ReceiveOptArgInstr extends ReceiveIndexedArgBase implements FixedArityInstr
| Modifier and Type | Field and Description |
|---|---|
int |
preArgs
opt args follow pre args
|
int |
requiredArgs
total number of required args (pre + post)
|
argIndexresultEMPTY_OPERANDS| Constructor and Description |
|---|
ReceiveOptArgInstr(Variable result,
Variable keywords,
int optArgIndex,
int requiredArgs,
int preArgs) |
| Modifier and Type | Method and Description |
|---|---|
Instr |
clone(CloneInfo info)
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).
|
static ReceiveOptArgInstr |
decode(IRReaderDecoder d) |
void |
encode(IRWriterEncoder e) |
int |
getPreArgs() |
int |
getRequiredArgs() |
IRubyObject |
receiveArg(ThreadContext context,
IRubyObject self,
DynamicScope currDynScope,
StaticScope currScope,
java.lang.Object[] temp,
IRubyObject[] args,
boolean ruby2keyword) |
java.lang.String[] |
toStringNonOperandArgs() |
void |
visit(IRVisitor visitor) |
getArgIndexgetKeywordsgetOperand1, getOperands, setOperand, setOperand1getResult, updateResultcanBeDeletedFromScope, canRaiseException, cloneOperands, computeScopeFlags, dumpableFields, getOperation, getUsedVariables, hasSideEffects, interpret, interpretAndGetNewIPC, isDead, isDeletable, markDead, renameVars, simplifyAndGetResult, simplifyOperands, toString, transfersControlpublic final int preArgs
public final int requiredArgs
public java.lang.String[] toStringNonOperandArgs()
toStringNonOperandArgs in class Instrpublic int getPreArgs()
public int getRequiredArgs()
public Instr clone(CloneInfo info)
Instrpublic void encode(IRWriterEncoder e)
encode in class ReceiveIndexedArgBasepublic static ReceiveOptArgInstr decode(IRReaderDecoder d)
public IRubyObject receiveArg(ThreadContext context, IRubyObject self, DynamicScope currDynScope, StaticScope currScope, java.lang.Object[] temp, IRubyObject[] args, boolean ruby2keyword)
receiveArg in interface ArgReceiverreceiveArg in class ReceiveArgBaseCopyright © 2001-2023 JRuby. All Rights Reserved.