public class IRMethod extends IRScope
Modifier and Type | Field and Description |
---|---|
protected ArgumentDescriptor[] |
argDesc |
boolean |
isInstanceMethod |
booleanVariableIndex, fixnumVariableIndex, floatVariableIndex, fullInterpreterContext, interpreterContext, LOG, temporaryVariableIndex, threadPollInstrsCount
Constructor and Description |
---|
IRMethod(IRManager manager,
IRScope lexicalParent,
MethodDefNode defn,
String name,
boolean isInstanceMethod,
int lineNumber,
StaticScope staticScope) |
Modifier and Type | Method and Description |
---|---|
protected LocalVariable |
findExistingLocalVariable(String name,
int scopeDepth) |
ArgumentDescriptor[] |
getArgumentDescriptors() |
LocalVariable |
getLocalVariable(String name,
int scopeDepth)
Find or create a local variable.
|
IRScopeType |
getScopeType() |
boolean |
hasBeenBuilt()
For lazy scopes which IRBuild on demand we can ask this method whether it has been built yet...
|
InterpreterContext |
lazilyAcquireInterpreterContext() |
BasicBlock[] |
prepareForInitialCompilation()
Run any necessary passes to get the IR ready for compilation
|
void |
setArgumentDescriptors(ArgumentDescriptor[] argDesc)
Set upon completion of IRBuild of this IRMethod.
|
addChildScope, addClosure, allocateInterpreterContext, allocateNextPrefixedName, bindingHasEscaped, buildJVMExceptionTable, canReceiveNonlocalReturns, computeScopeFlags, computeScopeFlagsEarly, createTemporaryVariable, debugOutput, definesLocalVariable, depends, equals, getBeginBlocks, getBooleanVariablesCount, getCFG, getClosures, getCurrentModuleVariable, getCurrentScopeVariable, getEndBlocks, getExecutedPasses, getFileName, getFixnumVariablesCount, getFlags, getFloatVariablesCount, getFullInterpreterContext, getInterpreterContext, getLexicalParent, getLexicalScopes, getLineNumber, getLiveVariablesProblem, getLocalVariables, getLocalVariablesCount, getManager, getName, getNearestFlipVariableScope, getNearestMethod, getNearestModuleReferencingScopeDepth, getNearestTopLocalVariableScope, getNewFlipStateVariable, getNewInlineVariable, getNewLabel, getNewLabel, getNewLocalVariable, getNewTemporaryVariable, getNewTemporaryVariableFor, getNewUnboxedVariable, getNextClosureId, getPrefixCountSize, getScopeId, getSelf, getStaticScope, getStoreLocalVarPlacementProblem, getTemporaryVariablesCount, getThreadPollInstrsCount, getTopLevelScope, getUnboxableOpsAnalysisProblem, getUsedVariablesCount, getVarIndices, getYieldClosureVariable, hasExplicitCallProtocol, hashCode, hasLoops, inlineMethod, isBeginEndBlock, isFlipScope, isModuleBody, isNestedInClosure, isNonSingletonClassBody, isScriptScope, isTopLocalVariableScope, isUnsafeScope, lookupExistingLVar, maybeUsingRefinements, parentMaybeUsingRefinements, prepareFullBuild, prepareFullBuildCommon, putLiveVariablesProblem, putStoreLocalVarPlacementProblem, putUnboxableOpsAnalysisProblem, receivesKeywordArgs, recordBeginBlock, removeClosure, resetState, resetTemporaryVariables, resetVariableCounter, setExplicitCallProtocolFlag, setHasLoopsFlag, setInterpreterContext, setIsMaybeUsingRefinements, setLabelIndices, setLocalVariables, setName, setTemporaryVariableCount, setUpUseDefLocalVarMaps, toString, toStringInstrs, usesBackrefOrLastline, usesEval, usesLocalVariable, usesZSuper
public final boolean isInstanceMethod
protected ArgumentDescriptor[] argDesc
public IRMethod(IRManager manager, IRScope lexicalParent, MethodDefNode defn, String name, boolean isInstanceMethod, int lineNumber, StaticScope staticScope)
public boolean hasBeenBuilt()
IRScope
hasBeenBuilt
in class IRScope
public InterpreterContext lazilyAcquireInterpreterContext()
public BasicBlock[] prepareForInitialCompilation()
IRScope
prepareForInitialCompilation
in class IRScope
public IRScopeType getScopeType()
getScopeType
in class IRScope
protected LocalVariable findExistingLocalVariable(String name, int scopeDepth)
findExistingLocalVariable
in class IRScope
public LocalVariable getLocalVariable(String name, int scopeDepth)
IRScope
getLocalVariable
in class IRScope
public ArgumentDescriptor[] getArgumentDescriptors()
public void setArgumentDescriptors(ArgumentDescriptor[] argDesc)
Copyright © 2001-2015 JRuby. All Rights Reserved.