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, usesZSuper
public IRMethod(IRManager manager, IRScope lexicalParent, String name, boolean isInstanceMethod, int lineNumber, StaticScope staticScope)
public String getScopeName()
getScopeName
in class IRScope
public Operand[] getCallArgs()
public LocalVariable findExistingLocalVariable(String name, int scopeDepth)
findExistingLocalVariable
in class IRScope
public LocalVariable getNewLocalVariable(String name, int scopeDepth)
getNewLocalVariable
in class IRScope
public LocalVariable getLocalVariable(String name, int scopeDepth)
IRScope
getLocalVariable
in class IRScope
public LocalVariable getImplicitBlockArg()
getImplicitBlockArg
in class IRScope
Copyright © 2001-2014 JRuby. All Rights Reserved.