All Methods Static Methods Instance Methods Concrete Methods
| Modifier and Type |
Method and Description |
Operand |
build(Node node,
IRScope s) |
Operand |
buildAlias(AliasNode alias,
IRScope s) |
Operand |
buildAnd(AndNode andNode,
IRScope s) |
Operand |
buildArgsCat(ArgsCatNode argsCatNode,
IRScope s) |
Operand |
buildArgsPush(ArgsPushNode node,
IRScope s) |
Operand |
buildArray(Node node,
IRScope s) |
void |
buildAssignment(Node node,
IRScope s,
Variable rhsVal) |
static Node |
buildAST(boolean isCommandLineScript,
java.lang.String arg) |
private Operand |
buildAttrAssign(AttrAssignNode attrAssignNode,
IRScope s) |
Operand |
buildAttrAssignAssignment(Node node,
IRScope s,
Operand value) |
Operand |
buildBackref(BackRefNode node,
IRScope s) |
Operand |
buildBegin(BeginNode beginNode,
IRScope s) |
Operand |
buildBignum(BignumNode node,
IRScope s) |
Operand |
buildBlock(BlockNode node,
IRScope s) |
void |
buildBlockArgsAssignment(Node node,
IRScope s,
Operand argsArray,
int argIndex,
boolean isMasgnRoot,
boolean isClosureArg,
boolean isSplat) |
Operand |
buildBreak(BreakNode breakNode,
IRScope s) |
Operand |
buildCall(CallNode callNode,
IRScope s) |
protected Operand |
buildCallArgs(java.util.List<Operand> argsList,
Node args,
IRScope s) |
Operand |
buildCase(CaseNode caseNode,
IRScope s) |
Operand |
buildClass(ClassNode classNode,
IRScope s)
Build a new class and add it to the current scope (s).
|
Operand |
buildClassVar(ClassVarNode node,
IRScope s) |
Operand |
buildClassVarAsgn(ClassVarAsgnNode classVarAsgnNode,
IRScope s) |
Operand |
buildClassVarDecl(ClassVarDeclNode classVarDeclNode,
IRScope s) |
Operand |
buildColon2(Colon2Node iVisited,
IRScope s) |
Operand |
buildColon3(Colon3Node node,
IRScope s) |
private Operand |
buildConditionalLoop(IRScope s,
Node conditionNode,
Node bodyNode,
boolean isWhile,
boolean isLoopHeadCondition) |
Operand |
buildConstDecl(ConstDeclNode node,
IRScope s) |
Operand |
buildConstDeclAssignment(ConstDeclNode constDeclNode,
IRScope s,
Operand val) |
Operand |
buildDAsgn(DAsgnNode dasgnNode,
IRScope s) |
protected Variable |
buildDefinitionCheck(IRScope s,
ResultInstr definedInstr,
java.lang.String definedReturnValue) |
Operand |
buildDefn(MethodDefNode node,
IRScope s) |
protected Variable |
buildDefnCheckIfThenPaths(IRScope s,
Label undefLabel,
Operand defVal) |
Operand |
buildDefs(DefsNode node,
IRScope s) |
Operand |
buildDot(DotNode dotNode,
IRScope s) |
Operand |
buildDRegexp(DRegexpNode dregexpNode,
IRScope s) |
Operand |
buildDStr(DStrNode dstrNode,
IRScope s) |
Operand |
buildDSymbol(DSymbolNode node,
IRScope s) |
Operand |
buildDVar(DVarNode node,
IRScope s) |
Operand |
buildDXStr(DXStrNode dstrNode,
IRScope s) |
Operand |
buildEnsureNode(EnsureNode ensureNode,
IRScope s) |
IREvalScript |
buildEvalRoot(StaticScope staticScope,
IRScope containingScope,
java.lang.String file,
int lineNumber,
RootNode rootNode) |
Operand |
buildEvStr(EvStrNode node,
IRScope s) |
Operand |
buildFalse(Node node,
IRScope s) |
Operand |
buildFCall(FCallNode fcallNode,
IRScope s) |
Operand |
buildFixnum(FixnumNode node,
IRScope s) |
Operand |
buildFlip(FlipNode flipNode,
IRScope s) |
Operand |
buildFloat(FloatNode node,
IRScope s) |
Operand |
buildFor(ForNode forNode,
IRScope s) |
Operand |
buildForIter(ForNode forNode,
IRScope s) |
protected Operand |
buildGenericGetDefinitionIR(Node node,
IRScope s) |
Operand |
buildGetArgumentDefinition(Node node,
IRScope s,
java.lang.String type) |
Operand |
buildGetDefinition(Node defnNode,
IRScope s) |
Operand |
buildGetDefinitionBase(Node node,
IRScope s) |
Operand |
buildGlobalAsgn(GlobalAsgnNode globalAsgnNode,
IRScope s) |
Operand |
buildGlobalVar(GlobalVarNode node,
IRScope s) |
Operand |
buildHash(HashNode hashNode,
IRScope s) |
Operand |
buildIf(IfNode ifNode,
IRScope s) |
Operand |
buildInstAsgn(InstAsgnNode instAsgnNode,
IRScope s) |
Operand |
buildInstVar(InstVarNode node,
IRScope s) |
Operand |
buildIter(IterNode iterNode,
IRScope s) |
Operand |
buildLiteral(LiteralNode literalNode,
IRScope s) |
Operand |
buildLocalAsgn(LocalAsgnNode localAsgnNode,
IRScope s) |
Operand |
buildLocalVar(LocalVarNode node,
IRScope s) |
Operand |
buildMatch(MatchNode matchNode,
IRScope s) |
Operand |
buildMatch2(Match2Node matchNode,
IRScope s) |
Operand |
buildMatch3(Match3Node matchNode,
IRScope s) |
Operand |
buildModule(ModuleNode moduleNode,
IRScope s) |
Operand |
buildMultipleAsgn(MultipleAsgnNode multipleAsgnNode,
IRScope s) |
void |
buildMultipleAsgnAssignment(MultipleAsgnNode multipleAsgnNode,
IRScope s,
Operand argsArray,
Operand values) |
Operand |
buildNewline(NewlineNode node,
IRScope s) |
Operand |
buildNext(NextNode nextNode,
IRScope s) |
Operand |
buildNil(Node node,
IRScope s) |
Operand |
buildNot(NotNode node,
IRScope s) |
Operand |
buildNthRef(NthRefNode nthRefNode,
IRScope s) |
Operand |
buildOpAsgn(OpAsgnNode opAsgnNode,
IRScope s) |
Operand |
buildOpAsgnAnd(OpAsgnAndNode andNode,
IRScope s) |
Operand |
buildOpAsgnOr(OpAsgnOrNode orNode,
IRScope s) |
Operand |
buildOpElementAsgn(OpElementAsgnNode node,
IRScope s) |
Operand |
buildOpElementAsgnWithAnd(OpElementAsgnNode opElementAsgnNode,
IRScope s) |
Operand |
buildOpElementAsgnWithMethod(OpElementAsgnNode opElementAsgnNode,
IRScope s) |
Operand |
buildOpElementAsgnWithOr(OpElementAsgnNode opElementAsgnNode,
IRScope s) |
private Operand |
buildOperand(Node node,
IRScope s) |
Operand |
buildOr(OrNode orNode,
IRScope s) |
Operand |
buildPostExe(PostExeNode postExeNode,
IRScope s) |
Operand |
buildPreExe(PreExeNode preExeNode,
IRScope s) |
Operand |
buildRedo(Node node,
IRScope s) |
Operand |
buildRegexp(RegexpNode reNode,
IRScope s) |
Operand |
buildRescue(RescueNode node,
IRScope s) |
private void |
buildRescueBodyInternal(IRScope s,
Node node,
Variable rv,
Label endLabel) |
private Operand |
buildRescueInternal(RescueNode rescueNode,
IRScope s,
IRBuilder.EnsureBlockInfo ensure) |
Operand |
buildRetry(Node node,
IRScope s) |
Operand |
buildReturn(ReturnNode returnNode,
IRScope s) |
IRScope |
buildRoot(RootNode rootNode) |
Operand |
buildSClass(SClassNode sclassNode,
IRScope s) |
Operand |
buildSelf(Node node,
IRScope s) |
Operand |
buildSplat(SplatNode splatNode,
IRScope s) |
Operand |
buildStr(StrNode strNode,
IRScope s) |
Operand |
buildSuper(SuperNode superNode,
IRScope s) |
private Operand |
buildSuperInScriptBody(IRScope s) |
private Operand |
buildSuperInstr(IRScope s,
Operand block,
Operand[] args) |
Operand |
buildSValue(SValueNode node,
IRScope s) |
Operand |
buildSymbol(SymbolNode node,
IRScope s) |
Operand |
buildToAry(ToAryNode node,
IRScope s) |
Operand |
buildTrue(Node node,
IRScope s) |
java.lang.String |
buildType(Node typeNode) |
Operand |
buildUndef(Node node,
IRScope s) |
Operand |
buildUntil(UntilNode untilNode,
IRScope s) |
Operand |
buildVAlias(Node node,
IRScope s) |
Operand |
buildVCall(VCallNode node,
IRScope s) |
void |
buildVersionSpecificAssignment(Node node,
IRScope s,
Variable v) |
void |
buildVersionSpecificBlockArgsAssignment(Node node,
IRScope s,
Operand argsArray,
int argIndex,
boolean isMasgnRoot,
boolean isClosureArg,
boolean isSplat) |
protected Operand |
buildVersionSpecificGetDefinitionIR(Node node,
IRScope s) |
protected Operand |
buildVersionSpecificNodes(Node node,
IRScope s) |
Operand |
buildWhile(WhileNode whileNode,
IRScope s) |
Operand |
buildXStr(XStrNode node,
IRScope s) |
Operand |
buildYield(YieldNode node,
IRScope s) |
Operand |
buildZArray(Node node,
IRScope s) |
Operand |
buildZSuper(ZSuperNode zsuperNode,
IRScope s)
private Operand[] getZSuperArgs(IRScope s) {
if (s instanceof IRMethod) return ((IRMethod)s).getCallArgs();
Operand[] sArgs = s.getNearestMethod().getCallArgs();
// Update args to make them accessible at a different depth
int n = ((IRClosure)s).getNestingDepth();
for (int i = 0; i < sArgs.length; i++) {
Operand arg = sArgs[i];
sArgs[i] = (arg instanceof Splat) ? new Splat(((LocalVariable)((Splat)arg).getArray()).cloneForDepth(n)) : ((LocalVariable)arg).cloneForDepth(n);
}
return sArgs;
}
|
Operand |
classVarContainer(IRScope s,
boolean declContext) |
Operand |
classVarDeclarationContainer(IRScope s) |
Operand |
classVarDefinitionContainer(IRScope s) |
protected Variable |
copyAndReturnValue(IRScope s,
Operand val) |
static IRBuilder |
createIRBuilder(Ruby runtime,
IRManager manager) |
private IRMethod |
defineNewMethod(MethodDefNode defNode,
IRScope s,
boolean isInstanceMethod) |
private Operand |
dynamicPiece(Node pieceNode,
IRScope s) |
private Operand |
findContainerModule(IRScope s) |
private void |
genInheritanceSearchInstrs(IRScope s,
Operand startingModule,
Variable constVal,
Label foundLabel,
boolean noPrivateConstants,
java.lang.String name) |
protected LocalVariable |
getBlockArgVariable(IRScope cl,
java.lang.String name,
int depth) |
private Operand |
getContainerFromCPath(Colon3Node cpath,
IRScope s) |
IRLoop |
getCurrentLoop() |
protected Variable |
getSelf(IRScope s) |
protected Variable |
getValueInTemporaryVariable(IRScope s,
Operand val) |
private void |
handleNonlocalReturnInMethod(IRScope s) |
private boolean |
hasListener() |
boolean |
is1_9() |
boolean |
is2_0() |
private boolean |
needsDefinitionCheck(Node node)
Check whether the given node is considered always "defined" or whether it
has some form of definition check.
|
IRBuilder |
newIRBuilder(IRManager manager) |
private void |
outputExceptionCheck(IRScope s,
Operand excType,
Operand excObj,
Label caughtLabel) |
private Operand |
protectCodeWithRescue(IRScope m,
IRBuilder.CodeBlock protectedCode,
java.lang.Object[] protectedCodeArgs,
IRBuilder.CodeBlock rescueBlock,
java.lang.Object[] rescueBlockArgs) |
protected void |
receiveBlockArg(IRScope s,
Variable v,
Operand argsArray,
int argIndex,
boolean isClosureArg,
boolean isSplat) |
void |
receiveBlockArgs(IterNode node,
IRScope s) |
void |
receiveBlockClosureArg(Node node,
IRScope s) |
private void |
receiveBreakException(IRScope s,
Operand block,
CallInstr callInstr) |
void |
receiveMethodArgs(ArgsNode argsNode,
IRScope s) |
private void |
receiveMethodClosureArg(ArgsNode argsNode,
IRScope s) |
protected int |
receiveOptArgs(ArgsNode argsNode,
IRScope s,
int opt,
int argIndex) |
private Operand |
searchConst(IRScope s,
IRScope startingScope,
java.lang.String name) |
private Operand |
searchConstInInheritanceHierarchy(IRScope s,
Operand startingModule,
java.lang.String name) |
static void |
setRubyVersion(java.lang.String rubyVersion) |
java.util.List<Operand> |
setupCallArgs(Node args,
IRScope s) |
private Operand |
setupCallClosure(Node node,
IRScope s) |
Node |
skipOverNewlines(IRScope s,
Node n) |
private Operand |
startingSearchScope(IRScope s) |