Class OneArgOperandAttrAssignInstr
java.lang.Object
org.jruby.ir.instructions.Instr
org.jruby.ir.instructions.NOperandInstr
org.jruby.ir.instructions.CallBase
org.jruby.ir.instructions.NoResultCallInstr
org.jruby.ir.instructions.AttrAssignInstr
org.jruby.ir.instructions.specialized.OneArgOperandAttrAssignInstr
- All Implemented Interfaces:
ClosureAcceptingInstr,Site
-
Field Summary
Fields inherited from class org.jruby.ir.instructions.CallBase
argsCount, callSite, callSiteCounter, callSiteId, hasClosure, name, procNewFields inherited from class org.jruby.ir.instructions.NOperandInstr
operandsFields inherited from class org.jruby.ir.instructions.Instr
EMPTY_OPERANDS -
Constructor Summary
ConstructorsModifierConstructorDescriptionOneArgOperandAttrAssignInstr(IRScope scope, Operand obj, RubySymbol attr, Operand[] args, boolean isPotentiallyRefined) protectedOneArgOperandAttrAssignInstr(IRScope scope, CallType callType, RubySymbol name, Operand receiver, Operand[] args, boolean potentiallyRefined, CallSite callSite, long callSiteId) -
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).interpret(ThreadContext context, StaticScope currScope, DynamicScope dynamicScope, IRubyObject self, Object[] temp) Methods inherited from class org.jruby.ir.instructions.AttrAssignInstr
create, create, decode, encode, visitMethods inherited from class org.jruby.ir.instructions.NoResultCallInstr
create, getResultMethods inherited from class org.jruby.ir.instructions.CallBase
blockInlining, canBeEval, cloneCallArgs, computeScopeFlags, containsArgSplat, getArg1, getArgsCount, getCallArgs, getCallSite, getCallSiteFor, getCallSiteId, getCallType, getClosureArg, getClosureArg, getId, getName, getReceiver, hasLiteralClosure, inliningBlocked, isAllFixnums, isAllFloats, isPotentiallyRefined, prepareArguments, prepareArgumentsComplex, prepareArgumentsSimple, prepareBlock, setCallSiteId, setProcNew, simplifyOperands, splatMap, targetRequiresCallersBinding, targetRequiresCallersFrame, toStringNonOperandArgsMethods inherited from class org.jruby.ir.instructions.NOperandInstr
getOperands, setOperandMethods inherited from class org.jruby.ir.instructions.Instr
canBeDeletedFromScope, canRaiseException, cloneOperands, dumpableFields, getOperation, getUsedVariables, hasSideEffects, interpretAndGetNewIPC, isDead, isDeletable, markDead, renameVars, simplifyAndGetResult, toString, transfersControl
-
Constructor Details
-
OneArgOperandAttrAssignInstr
-
OneArgOperandAttrAssignInstr
public OneArgOperandAttrAssignInstr(IRScope scope, Operand obj, RubySymbol attr, Operand[] args, boolean isPotentiallyRefined)
-
-
Method Details
-
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.- Overrides:
clonein classAttrAssignInstr- Parameters:
ii- This object manages renaming of variables and labels, handles args and return values.- Returns:
- a new instruction that can be used in the target scope.
-
interpret
public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope dynamicScope, IRubyObject self, Object[] temp) - Overrides:
interpretin classAttrAssignInstr
-