Package org.jruby.ir.instructions
Class SearchModuleForConstInstr
java.lang.Object
org.jruby.ir.instructions.Instr
org.jruby.ir.instructions.ResultBaseInstr
org.jruby.ir.instructions.OneOperandResultBaseInstr
org.jruby.ir.instructions.SearchModuleForConstInstr
- All Implemented Interfaces:
FixedArityInstr
,ResultInstr
Search for a constant within the current module. If it cannot find then
call const_missing.
-
Field Summary
Fields inherited from class org.jruby.ir.instructions.ResultBaseInstr
result
Fields inherited from class org.jruby.ir.instructions.Instr
EMPTY_OPERANDS
-
Constructor Summary
ConstructorsConstructorDescriptionSearchModuleForConstInstr
(Variable result, Operand currentModule, RubySymbol constantName, boolean noPrivateConsts) SearchModuleForConstInstr
(Variable result, Operand currentModule, RubySymbol constantName, boolean noPrivateConsts, boolean callConstMissing) -
Method Summary
Modifier and TypeMethodDescriptionboolean
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 SearchModuleForConstInstr
void
getId()
getName()
interpret
(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) boolean
String[]
void
Methods inherited from class org.jruby.ir.instructions.OneOperandResultBaseInstr
getOperand1, getOperands, setOperand, setOperand1
Methods inherited from class org.jruby.ir.instructions.ResultBaseInstr
getResult, updateResult
Methods inherited from class org.jruby.ir.instructions.Instr
canBeDeletedFromScope, canRaiseException, cloneOperands, computeScopeFlags, dumpableFields, getOperation, getUsedVariables, hasSideEffects, interpretAndGetNewIPC, isDead, isDeletable, markDead, renameVars, simplifyInstr, simplifyOperands, simplifyOperands, toString, transfersControl
-
Constructor Details
-
SearchModuleForConstInstr
public SearchModuleForConstInstr(Variable result, Operand currentModule, RubySymbol constantName, boolean noPrivateConsts) -
SearchModuleForConstInstr
public SearchModuleForConstInstr(Variable result, Operand currentModule, RubySymbol constantName, boolean noPrivateConsts, boolean callConstMissing)
-
-
Method Details
-
getCurrentModule
-
getId
-
getName
-
isNoPrivateConsts
public boolean isNoPrivateConsts() -
callConstMissing
public boolean callConstMissing() -
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. -
toStringNonOperandArgs
- Overrides:
toStringNonOperandArgs
in classInstr
-
encode
- Overrides:
encode
in classOneOperandResultBaseInstr
-
decode
-
interpret
public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) -
visit
-