Package org.jruby.ir.instructions
Class ClassSuperInstr
java.lang.Object
org.jruby.ir.instructions.Instr
org.jruby.ir.instructions.NOperandInstr
org.jruby.ir.instructions.CallBase
org.jruby.ir.instructions.CallInstr
org.jruby.ir.instructions.ClassSuperInstr
- All Implemented Interfaces:
ClosureAcceptingInstr
,ResultInstr
,Site
-
Field Summary
Fields inherited from class org.jruby.ir.instructions.CallBase
argsCount, callSite, callSiteCounter, callSiteId, hasClosure, name
Fields inherited from class org.jruby.ir.instructions.NOperandInstr
operands
Fields inherited from class org.jruby.ir.instructions.Instr
EMPTY_OPERANDS
-
Constructor Summary
ConstructorsModifierConstructorDescriptionClassSuperInstr
(IRScope scope, Variable result, Operand definingModule, RubySymbol name, Operand[] args, Operand closure, int flags, boolean isPotentiallyRefined) protected
ClassSuperInstr
(IRScope scope, Variable result, Operand receiver, RubySymbol name, Operand[] args, Operand closure, int flags, 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).boolean
computeScopeFlags
(IRScope scope, EnumSet<IRFlags> flags) Does this instruction do anything the scope is interested in?static ClassSuperInstr
interpret
(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) void
Methods inherited from class org.jruby.ir.instructions.CallInstr
create, encode, getResult, updateResult
Methods inherited from class org.jruby.ir.instructions.CallBase
blockInlining, canBeEval, cloneCallArgs, containsArgSplat, getArg1, getArgsCount, getCallArgs, getCallSite, getCallSiteFor, getCallSiteId, getCallType, getClosureArg, getClosureArg, getFlags, getId, getName, getReceiver, hasLiteralClosure, inliningBlocked, isAllFixnums, isAllFloats, isPotentiallyRefined, prepareArguments, prepareArgumentsComplex, prepareArgumentsSimple, prepareBlock, setCallSiteId, simplifyOperands, splatMap, targetRequiresCallersBinding, targetRequiresCallersFrame, toStringNonOperandArgs
Methods inherited from class org.jruby.ir.instructions.NOperandInstr
getOperands, setOperand
Methods inherited from class org.jruby.ir.instructions.Instr
canBeDeletedFromScope, canRaiseException, cloneOperands, dumpableFields, getOperation, getUsedVariables, hasSideEffects, interpretAndGetNewIPC, isDead, isDeletable, markDead, renameVars, simplifyInstr, simplifyOperands, toString, transfersControl
-
Constructor Details
-
ClassSuperInstr
-
ClassSuperInstr
-
-
Method Details
-
getDefiningModule
-
computeScopeFlags
Description copied from class:Instr
Does this instruction do anything the scope is interested in?- Overrides:
computeScopeFlags
in classCallBase
- Returns:
- true if it modified the scope or set any flags.
-
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. -
decode
-
interpret
public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) -
visit
-