Methods
Modifier and Type |
Method and Description |
static Operand[] |
addArg(Operand[] args,
Operand extraArg) |
void |
addArgumentDescription(ArgumentType type,
String name) |
void |
addInstr(Instr instr) |
void |
addInstrAtBeginning(Instr instr) |
Operand |
build(Node node) |
Operand |
buildAlias(AliasNode alias) |
Operand |
buildAnd(AndNode andNode) |
Operand |
buildArgsCat(ArgsCatNode argsCatNode) |
void |
buildArgsMasgn(Node node,
Operand argsArray,
boolean isMasgnRoot,
int preArgsCount,
int postArgsCount,
int index,
boolean isSplat) |
Operand |
buildArgsPush(ArgsPushNode node) |
Operand |
buildArray(ArrayNode node) |
void |
buildAssignment(Node node,
Variable rhsVal) |
static Node |
buildAST(boolean isCommandLineScript,
String arg) |
Operand |
buildAttrAssignAssignment(Node node,
Operand value) |
protected Operand |
buildAttrAssignCallArgs(List<Operand> argsList,
Node args,
boolean containsAssignment) |
Operand |
buildBackref(BackRefNode node) |
Operand |
buildBegin(BeginNode beginNode) |
Operand |
buildBignum(BignumNode node) |
Operand |
buildBlock(BlockNode node) |
void |
buildBlockArgsAssignment(Node node,
Operand argsArray,
int argIndex,
boolean isSplat) |
Operand |
buildBreak(BreakNode breakNode) |
Operand |
buildCall(CallNode callNode) |
protected Operand[] |
buildCallArgs(Node args) |
Operand |
buildCase(CaseNode caseNode) |
Operand |
buildClass(ClassNode classNode)
Build a new class and add it to the current scope (s).
|
Operand |
buildClassVar(ClassVarNode node) |
Operand |
buildClassVarAsgn(ClassVarAsgnNode classVarAsgnNode) |
Operand |
buildClassVarDecl(ClassVarDeclNode classVarDeclNode) |
Operand |
buildColon2(Colon2Node iVisited) |
Operand |
buildColon3(Colon3Node node) |
Operand |
buildComplex(ComplexNode node) |
Operand |
buildConstDecl(ConstDeclNode node) |
Operand |
buildConstDeclAssignment(ConstDeclNode constDeclNode,
Operand val) |
Operand |
buildDAsgn(DAsgnNode dasgnNode) |
protected Variable |
buildDefinitionCheck(ResultInstr definedInstr,
String definedReturnValue) |
Operand |
buildDefn(MethodDefNode node) |
protected Variable |
buildDefnCheckIfThenPaths(Label undefLabel,
Operand defVal) |
Operand |
buildDefs(DefsNode node) |
Operand |
buildDot(DotNode dotNode) |
Operand |
buildDRegexp(DRegexpNode node) |
Operand |
buildDStr(DStrNode node) |
Operand |
buildDSymbol(DSymbolNode node) |
Operand |
buildDVar(DVarNode node) |
Operand |
buildDXStr(DXStrNode dstrNode) |
Operand |
buildEncoding(EncodingNode node) |
Operand |
buildEnsureInternal(Node ensureBodyNode,
Node ensurerNode) |
Operand |
buildEnsureNode(EnsureNode ensureNode) |
InterpreterContext |
buildEvalRoot(RootNode rootNode) |
Operand |
buildEvStr(EvStrNode node) |
Operand |
buildFalse() |
Operand |
buildFCall(FCallNode fcallNode) |
Operand |
buildFixnum(FixnumNode node) |
Operand |
buildFlip(FlipNode flipNode) |
Operand |
buildFloat(FloatNode node) |
Operand |
buildFor(ForNode forNode) |
Operand |
buildForIter(ForNode forNode) |
Operand |
buildGetArgumentDefinition(Node node,
String type) |
Operand |
buildGetDefinition(Node node) |
Operand |
buildGlobalAsgn(GlobalAsgnNode globalAsgnNode) |
Operand |
buildGlobalVar(GlobalVarNode node) |
Operand |
buildHash(HashNode hashNode) |
Operand |
buildIf(IfNode ifNode) |
Operand |
buildInstAsgn(InstAsgnNode instAsgnNode) |
Operand |
buildInstVar(InstVarNode node) |
Operand |
buildIter(IterNode iterNode) |
Operand |
buildLambda(LambdaNode node) |
Operand |
buildLiteral(LiteralNode literalNode) |
Operand |
buildLocalAsgn(LocalAsgnNode localAsgnNode) |
Operand |
buildLocalVar(LocalVarNode node) |
Operand |
buildMatch(MatchNode matchNode) |
Operand |
buildMatch2(Match2Node matchNode) |
Operand |
buildMatch3(Match3Node matchNode) |
Operand |
buildModule(ModuleNode moduleNode) |
Operand |
buildMultipleAsgn19(MultipleAsgnNode multipleAsgnNode) |
void |
buildMultipleAsgn19Assignment(MultipleAsgnNode multipleAsgnNode,
Operand argsArray,
Operand values) |
Operand |
buildNext(NextNode nextNode) |
Operand |
buildNil() |
Operand |
buildNthRef(NthRefNode nthRefNode) |
Operand |
buildOpAsgn(OpAsgnNode opAsgnNode) |
Operand |
buildOpAsgnAnd(OpAsgnAndNode andNode) |
Operand |
buildOpAsgnOr(OpAsgnOrNode orNode) |
Operand |
buildOpElementAsgn(OpElementAsgnNode node) |
Operand |
buildOpElementAsgnWithMethod(OpElementAsgnNode opElementAsgnNode) |
Operand |
buildOr(OrNode orNode) |
Operand |
buildPostExe(PostExeNode postExeNode) |
Operand |
buildPreExe(PreExeNode preExeNode) |
Operand |
buildRational(RationalNode rationalNode) |
Operand |
buildRedo() |
Operand |
buildRegexp(RegexpNode reNode) |
Operand |
buildRescue(RescueNode node) |
Operand |
buildRetry() |
Operand |
buildReturn(ReturnNode returnNode) |
static InterpreterContext |
buildRoot(IRManager manager,
RootNode rootNode) |
Operand |
buildSClass(SClassNode sclassNode) |
Variable |
buildSelf() |
Operand |
buildSplat(SplatNode splatNode) |
Operand |
buildStr(StrNode strNode) |
Operand |
buildSuper(SuperNode superNode) |
Operand |
buildSValue(SValueNode node) |
Operand |
buildSymbol(SymbolNode node) |
Operand |
buildTrue() |
Operand |
buildUndef(Node node) |
Operand |
buildUntil(UntilNode untilNode) |
Operand |
buildVAlias(VAliasNode valiasNode) |
Operand |
buildVCall(VCallNode node) |
void |
buildVersionSpecificBlockArgsAssignment(Node node) |
Operand |
buildWhile(WhileNode whileNode) |
protected Operand |
buildWithOrder(Node node,
boolean preserveOrder) |
Operand |
buildXStr(XStrNode node) |
Operand |
buildYield(YieldNode node) |
Operand |
buildZArray() |
Operand |
buildZSuper(ZSuperNode zsuperNode) |
Operand |
classVarContainer(boolean declContext) |
Operand |
classVarDeclarationContainer() |
Operand |
classVarDefinitionContainer() |
protected Variable |
copyAndReturnValue(Operand val) |
protected InterpreterContext |
defineMethodInner(MethodDefNode defNode,
IRScope parent) |
protected LocalVariable |
getArgVariable(String name,
int depth) |
protected LocalVariable |
getBlockArgVariable(String name,
int depth) |
static Operand[] |
getCallArgs(IRScope scope,
IRBuilder builder)
Extract all call arguments from the specified scope (only useful for Closures and Methods) so that
we can convert zsupers to supers with explicit arguments.
|
org.jruby.ir.IRBuilder.IRLoop |
getCurrentLoop() |
LocalVariable |
getLocalVariable(String name,
int scopeDepth) |
String |
getName() |
IRBuilder |
getNearestFlipVariableScopeBuilder() |
LocalVariable |
getNewLocalVariable(String name,
int scopeDepth) |
protected Variable |
getValueInTemporaryVariable(Operand val) |
void |
initFlipStateVariable(Variable v,
Operand initState) |
IRBuilder |
newIRBuilder(IRManager manager,
IRScope newScope) |
void |
receiveArgs(ArgsNode argsNode)
Process all arguments specified for this scope.
|
protected void |
receiveBlockArg(ArgsNode argsNode)
Reify the implicit incoming block into a full Proc, for use as "block arg", but only if
a block arg is specified in this scope's arguments.
|
protected void |
receiveBlockArg(Variable v,
Operand argsArray,
int argIndex,
boolean isSplat) |
void |
receiveBlockArgs(IterNode node) |
void |
receiveMethodArgs(ArgsNode argsNode) |
protected void |
receiveNonBlockArgs(ArgsNode argsNode) |
void |
receiveRequiredArg(Node node,
int argIndex,
boolean post,
int numPreReqd,
int numPostRead) |
Operand[] |
setupCallArgs(Node args) |
static IRBuilder |
topIRBuilder(IRManager manager,
IRScope newScope) |