public class IRBuilder extends Object
protected IRManager manager
public IRBuilder(IRManager manager)
public org.jruby.ir.IRBuilder.IRLoop getCurrentLoop()
public Operand buildLambda(LambdaNode node, IRScope s)
public Operand buildEncoding(EncodingNode node, IRScope s)
public Operand buildMultipleAsgn19(MultipleAsgn19Node multipleAsgnNode, IRScope s)
protected Operand buildAttrAssignCallArgs(List<Operand> argsList, Node args, IRScope s)
public void buildVersionSpecificAssignment(Node node, IRScope s, Variable v)
protected LocalVariable getBlockArgVariable(IRScope s, String name, int depth)
protected void receiveBlockArg(IRScope s, Variable v, Operand argsArray, int argIndex, boolean isSplat)
public void buildVersionSpecificBlockArgsAssignment(Node node, IRScope s)
public void buildBlockArgsAssignment(Node node, IRScope s, Operand argsArray, int argIndex, 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)
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)
public Operand buildComplex(ComplexNode 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)
protected IRMethod defineMethodInner(MethodDefNode defNode, IRMethod method, IRScope parent)
public Operand buildDefn(MethodDefNode node, IRScope s)
protected LocalVariable getArgVariable(IRScope s, String name, int depth)
public void receiveRequiredArg(Node node, IRScope s, int argIndex, boolean post, int numPreReqd, int numPostRead)
protected void receiveBlockArg(ArgsNode argsNode, IRScope s)
argsNode
- the arguments containing the block arg, if anys
- the scope to which we are adding instructionspublic void receiveArgs(ArgsNode argsNode, IRScope s)
argsNode
- the args node containing the specification for the argumentss
- the scope to which we are adding instructionspublic void buildArgsMasgn(Node node, IRScope s, Operand argsArray, boolean isMasgnRoot, int preArgsCount, int postArgsCount, int index, boolean isSplat)
public void buildMultipleAsgn19Assignment(MultipleAsgn19Node multipleAsgnNode, IRScope s, Operand argsArray, Operand values)
public Operand buildDRegexp(DRegexpNode node, IRScope s)
public Operand buildDSymbol(DSymbolNode node, IRScope s)
public Operand buildEnsureNode(EnsureNode ensureNode, IRScope s)
public Operand buildFalse()
public Operand buildFixnum(FixnumNode node)
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 buildNil()
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 buildRational(RationalNode rationalNode)
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, EvalType evalType)
public IRScriptBody buildRoot(RootNode rootNode)
public Operand buildSValue(SValueNode node, IRScope s)
public Operand buildSymbol(SymbolNode node)
public Operand buildTrue()
public Operand buildVAlias(VAliasNode valiasNode, IRScope s)
public Operand buildZSuper(ZSuperNode zsuperNode, IRScope s)
Copyright © 2001-2015 JRuby. All Rights Reserved.