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, toStringVariables
getContainer, getContainerModule, getLexicalParent, getName, getNearestModule, getNewInlineVariable, getNewLabel, getNewLabel, getNewTemporaryClosureVariable, getNewTemporaryVariable, getNextClosureId, getPrefixCountSize, getRenamedVariableSize, getStaticScope, getTemporaryVariableSize, prepareForInterpretation, recordMethodAlias, runCompilerPass, setContainer, setName, toString, unaliasMethodName
public 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 IRScopeImpl
public CodeVersion getVersion()
public void addInstr(Instr i)
IRScope
addInstr
in interface IRScope
addInstr
in class IRExecutionScope
public Operand[] getCallArgs()
public boolean isAClassRootMethod()
public java.lang.String getFullyQualifiedName()
public IRModule getDefiningIRModule()
protected StaticScope constructStaticScope(StaticScope unused)
IRExecutionScope
constructStaticScope
in class IRExecutionScope
unused
- scope should be non-null for all closures and null for methodspublic LocalVariable getLocalVariable(java.lang.String name)
IRScope
getLocalVariable
in interface IRScope
getLocalVariable
in class IRExecutionScope
public int assignBindingSlot(java.lang.String varName)
public java.lang.Integer getBindingSlot(java.lang.String varName)
public int getBindingSlotsCount()
public int getLocalVariablesCount()
getLocalVariablesCount
in class IRExecutionScope
Copyright © 2002-2009 JRuby Team. All Rights Reserved.