public class IRMethod extends IRScope
IRScope.LocalVariableAllocator| Modifier and Type | Field and Description |
|---|---|
boolean |
isInstanceMethod |
canReceiveBreaks, canReceiveNonlocalReturns, hasBreakInstrs, hasNonlocalReturns, temporaryVariableIndex| Constructor and Description |
|---|
IRMethod(IRManager manager,
IRScope lexicalParent,
String name,
boolean isInstanceMethod,
int lineNumber,
StaticScope staticScope) |
| Modifier and Type | Method and Description |
|---|---|
void |
addArgDesc(String type,
String argName) |
void |
addInstr(Instr i) |
LocalVariable |
findExistingLocalVariable(String name,
int scopeDepth) |
List<String[]> |
getArgDesc() |
Operand[] |
getCallArgs() |
LocalVariable |
getImplicitBlockArg() |
LocalVariable |
getLocalVariable(String name,
int scopeDepth)
Find or create a local variable.
|
LocalVariable |
getNewLocalVariable(String name,
int scopeDepth) |
String |
getScopeName() |
addChildScope, addClosure, addInstrAtBeginning, allocateNextPrefixedName, bindingHasEscaped, buildCFG, buildCFG, buildLinearization, canCaptureCallersBinding, canReceiveNonlocalReturns, cfg, checkRelinearization, computeScopeFlags, definesLocalVariable, depends, equals, getCFG, getClosures, getContainerModule, getCurrentModuleVariable, getCurrentScopeVariable, getDataFlowSolution, getEnsurerPC, getFileName, getInstrs, getInstrsForInterpretation, getLastInstr, getLexicalParent, getLexicalScopes, getLineNumber, getLocalVariablesCount, getManager, getName, getNearestFlipVariableScope, getNearestMethod, getNearestModuleReferencingScope, getNearestTopLocalVariableScope, getNewFlipStateVariable, getNewInlineVariable, getNewLabel, getNewLabel, getNewTemporaryVariable, getNewTemporaryVariable, getNextClosureId, getPrefixCountSize, getRescuerPC, getScopeId, getSelf, getStaticScope, getTemporaryVariableSize, getThreadPollInstrsCount, getTopLevelScope, getUsedVariablesCount, hasExplicitCallProtocol, hashCode, hasLoops, initEvalScopeVariableAllocator, initFlipStateVariable, inlineMethod, isFlipScope, isForLoopBody, isModuleBody, isNestedInClosure, isNonSingletonClassBody, isScriptScope, isTopLocalVariableScope, linearization, markUnusedImplicitBlockArg, modifiesCode, prepareForCompilation, prepareForInterpretation, receivesKeywordArgs, recordBeginBlock, recordEndBlock, resetCFG, resetDFProblemsState, resetLinearizationData, resetState, resetTemporaryVariables, resetVariableCounter, setCFG, setCodeModificationFlag, setDataFlowSolution, setExplicitCallProtocolFlag, setHasLoopsFlag, setName, setUpUseDefLocalVarMaps, splitCalls, toPersistableString, toString, toStringInstrs, toStringVariables, usesBackrefOrLastline, usesEval, usesLocalVariable, usesZSuperpublic IRMethod(IRManager manager, IRScope lexicalParent, String name, boolean isInstanceMethod, int lineNumber, StaticScope staticScope)
public String getScopeName()
getScopeName in class IRScopepublic Operand[] getCallArgs()
public LocalVariable findExistingLocalVariable(String name, int scopeDepth)
findExistingLocalVariable in class IRScopepublic LocalVariable getNewLocalVariable(String name, int scopeDepth)
getNewLocalVariable in class IRScopepublic LocalVariable getLocalVariable(String name, int scopeDepth)
IRScopegetLocalVariable in class IRScopepublic LocalVariable getImplicitBlockArg()
getImplicitBlockArg in class IRScopeCopyright © 2001-2014 JRuby. All Rights Reserved.