public class IRMethod extends IRExecutionScope
| Modifier and Type | Field and Description |
|---|---|
Label |
endLabel |
boolean |
isInstanceMethod |
Label |
startLabel |
optionalArgs, requiredArgs, restArg| Constructor and Description |
|---|
IRMethod(IRScope lexicalParent,
Operand container,
java.lang.String name,
boolean isInstanceMethod,
StaticScope staticScope) |
| Modifier and Type | Method and Description |
|---|---|
void |
addInstr(Instr i)
methods and closures
|
int |
assignBindingSlot(java.lang.String varName) |
protected StaticScope |
constructStaticScope(StaticScope unused)
Closures and Methods have different static scopes.
|
java.lang.Integer |
getBindingSlot(java.lang.String varName) |
int |
getBindingSlotsCount() |
Operand[] |
getCallArgs() |
IRModule |
getDefiningIRModule() |
java.lang.String |
getFullyQualifiedName() |
LocalVariable |
getLocalVariable(java.lang.String name)
Get Local Variable from this scope
|
int |
getLocalVariablesCount() |
java.lang.String |
getScopeName() |
CodeVersion |
getVersion() |
boolean |
isAClassRootMethod() |
void |
updateVersion() |
addClosure, allocateStaticScope, buildCFG, calculateParameterCounts, canCaptureCallersBinding, computeExecutionScopeFlags, endLoop, getCFG, getClosestMethodAncestor, getClosures, getCurrentLoop, getInstrs, getLiveLocalVariables, getSelf, modifiesCode, requiresBinding, runCompilerPassOnNestedScopes, setCodeModificationFlag, startLoop, toStringInstrs, toStringVariablesgetContainer, getContainerModule, getLexicalParent, getName, getNearestModule, getNewInlineVariable, getNewLabel, getNewLabel, getNewTemporaryClosureVariable, getNewTemporaryVariable, getNextClosureId, getPrefixCountSize, getRenamedVariableSize, getStaticScope, getTemporaryVariableSize, prepareForInterpretation, recordMethodAlias, runCompilerPass, setContainer, setName, toString, unaliasMethodNamepublic final boolean isInstanceMethod
public final Label startLabel
public final Label endLabel
public IRMethod(IRScope lexicalParent, Operand container, java.lang.String name, boolean isInstanceMethod, StaticScope staticScope)
public final void updateVersion()
public java.lang.String getScopeName()
getScopeName in class IRScopeImplpublic CodeVersion getVersion()
public void addInstr(Instr i)
IRScopeaddInstr in interface IRScopeaddInstr in class IRExecutionScopepublic Operand[] getCallArgs()
public boolean isAClassRootMethod()
public java.lang.String getFullyQualifiedName()
public IRModule getDefiningIRModule()
protected StaticScope constructStaticScope(StaticScope unused)
IRExecutionScopeconstructStaticScope in class IRExecutionScopeunused - scope should be non-null for all closures and null for methodspublic LocalVariable getLocalVariable(java.lang.String name)
IRScopegetLocalVariable in interface IRScopegetLocalVariable in class IRExecutionScopepublic int assignBindingSlot(java.lang.String varName)
public java.lang.Integer getBindingSlot(java.lang.String varName)
public int getBindingSlotsCount()
public int getLocalVariablesCount()
getLocalVariablesCount in class IRExecutionScopeCopyright © 2002-2009 JRuby Team. All Rights Reserved.