public class IRBuilder extends Object
Modifier and Type | Field and Description |
---|---|
protected IRManager |
manager |
protected static Operand[] |
NO_ARGS |
protected static UnexecutableNil |
U_NIL |
protected static final Operand[] NO_ARGS
protected static final UnexecutableNil U_NIL
protected IRManager manager
public IRBuilder(IRManager manager)
public static void setRubyVersion(String rubyVersion)
public boolean is1_9()
public boolean is2_0()
public IRLoop getCurrentLoop()
public void buildVersionSpecificAssignment(Node node, IRScope s, Variable v)
protected LocalVariable getBlockArgVariable(IRScope cl, String name, int depth)
protected void receiveBlockArg(IRScope s, Variable v, Operand argsArray, int argIndex, boolean isClosureArg, boolean isSplat)
public void buildVersionSpecificBlockArgsAssignment(Node node, IRScope s, Operand argsArray, int argIndex, boolean isMasgnRoot, boolean isClosureArg, boolean isSplat)
public void buildBlockArgsAssignment(Node node, IRScope s, Operand argsArray, int argIndex, boolean isMasgnRoot, boolean isClosureArg, boolean isSplat)
public Operand buildArgsCat(ArgsCatNode argsCatNode, IRScope s)
public Operand buildArgsPush(ArgsPushNode node, IRScope s)
public Operand buildAttrAssignAssignment(Node node, IRScope s, Operand value)
public Operand buildBackref(BackRefNode node, IRScope s)
public Operand buildBignum(BignumNode node, IRScope s)
public Operand buildClass(ClassNode classNode, IRScope s)
public Operand buildSClass(SClassNode sclassNode, IRScope s)
public Operand buildClassVar(ClassVarNode node, IRScope s)
public Operand buildClassVarAsgn(ClassVarAsgnNode classVarAsgnNode, IRScope s)
public Operand buildClassVarDecl(ClassVarDeclNode classVarDeclNode, IRScope s)
public Operand buildConstDecl(ConstDeclNode node, IRScope s)
public Operand buildConstDeclAssignment(ConstDeclNode constDeclNode, IRScope s, Operand val)
public Operand buildColon2(Colon2Node iVisited, IRScope s)
public Operand buildColon3(Colon3Node node, IRScope s)
protected Operand buildVersionSpecificGetDefinitionIR(Node node, IRScope s)
protected Variable buildDefnCheckIfThenPaths(IRScope s, Label undefLabel, Operand defVal)
protected Variable buildDefinitionCheck(IRScope s, ResultInstr definedInstr, String definedReturnValue)
public Operand buildGetArgumentDefinition(Node node, IRScope s, String type)
public Operand buildDefn(MethodDefNode node, IRScope s)
public Operand buildDRegexp(DRegexpNode dregexpNode, IRScope s)
public Operand buildDSymbol(DSymbolNode node, IRScope s)
public Operand buildEnsureNode(EnsureNode ensureNode, IRScope s)
public Operand buildFixnum(FixnumNode node, IRScope s)
public Operand buildGlobalAsgn(GlobalAsgnNode globalAsgnNode, IRScope s)
public Operand buildGlobalVar(GlobalVarNode node, IRScope s)
public Operand buildInstAsgn(InstAsgnNode instAsgnNode, IRScope s)
public Operand buildInstVar(InstVarNode node, IRScope s)
public Operand buildLiteral(LiteralNode literalNode, IRScope s)
public Operand buildLocalAsgn(LocalAsgnNode localAsgnNode, IRScope s)
public Operand buildLocalVar(LocalVarNode node, IRScope s)
public Operand buildMatch2(Match2Node matchNode, IRScope s)
public Operand buildMatch3(Match3Node matchNode, IRScope s)
public Operand buildModule(ModuleNode moduleNode, IRScope s)
public Operand buildMultipleAsgn(MultipleAsgnNode multipleAsgnNode, IRScope s)
public void buildMultipleAsgnAssignment(MultipleAsgnNode multipleAsgnNode, IRScope s, Operand argsArray, Operand values)
public Operand buildNewline(NewlineNode node, IRScope s)
public Operand buildNthRef(NthRefNode nthRefNode, IRScope s)
public Operand buildOpAsgn(OpAsgnNode opAsgnNode, IRScope s)
public Operand buildOpAsgnAnd(OpAsgnAndNode andNode, IRScope s)
public Operand buildOpAsgnOr(OpAsgnOrNode orNode, IRScope s)
public Operand buildOpElementAsgn(OpElementAsgnNode node, IRScope s)
public Operand buildOpElementAsgnWithOr(OpElementAsgnNode opElementAsgnNode, IRScope s)
public Operand buildOpElementAsgnWithAnd(OpElementAsgnNode opElementAsgnNode, IRScope s)
public Operand buildOpElementAsgnWithMethod(OpElementAsgnNode opElementAsgnNode, IRScope s)
public Operand buildPostExe(PostExeNode postExeNode, IRScope s)
public Operand buildPreExe(PreExeNode preExeNode, IRScope s)
public Operand buildRegexp(RegexpNode reNode, IRScope s)
public Operand buildRescue(RescueNode node, IRScope s)
public Operand buildReturn(ReturnNode returnNode, IRScope s)
public IREvalScript buildEvalRoot(StaticScope staticScope, IRScope containingScope, String file, int lineNumber, RootNode rootNode)
public Operand buildSValue(SValueNode node, IRScope s)
public Operand buildSymbol(SymbolNode node, IRScope s)
public Operand buildZSuper(ZSuperNode zsuperNode, IRScope s)
Copyright © 2001-2015 JRuby. All Rights Reserved.