Methods in org.jruby.compiler.ir with parameters of type IRScope |
Operand |
IRBuilder.build(Node node,
IRScope m)
|
Operand |
IRBuilder.buildAlias(AliasNode alias,
IRScope s)
|
Operand |
IRBuilder.buildAnd(AndNode andNode,
IRScope m)
|
void |
IRBuilder.buildArgs(java.util.List<Operand> argsList,
Node args,
IRScope s)
|
Operand |
IRBuilder.buildArgsCat(ArgsCatNode argsCatNode,
IRScope s)
|
void |
IRBuilder.buildArgsCatArguments(java.util.List<Operand> args,
ArgsCatNode argsCatNode,
IRScope s)
|
Operand |
IRBuilder.buildArgsPush(ArgsPushNode node,
IRScope m)
|
void |
IRBuilder.buildArgsPushArguments(java.util.List<Operand> args,
ArgsPushNode argsPushNode,
IRScope m)
|
void |
IRBuilder.buildArguments(java.util.List<Operand> args,
Node node,
IRScope s)
|
Operand |
IRBuilder.buildArray(Node node,
IRScope m)
|
void |
IRBuilder.buildArrayArguments(java.util.List<Operand> args,
Node node,
IRScope s)
|
void |
IRBuilder.buildAssignment(Node node,
IRScope s,
Operand values,
int argIndex,
boolean isSplat)
|
Operand |
IRBuilder.buildAttrAssignAssignment(Node node,
IRScope s,
Operand value)
|
Operand |
IRBuilder.buildBackref(BackRefNode node,
IRScope m)
|
Operand |
IRBuilder.buildBegin(BeginNode beginNode,
IRScope s)
|
Operand |
IRBuilder.buildBignum(BignumNode node,
IRScope s)
|
Operand |
IRBuilder.buildBlock(BlockNode node,
IRScope s)
|
void |
IRBuilder.buildBlockArgsAssignment(Node node,
IRScope s,
int argIndex,
boolean isSplat)
|
Operand |
IRBuilder.buildCall(CallNode callNode,
IRScope s)
|
Operand |
IRBuilder.buildCase(CaseNode caseNode,
IRScope m)
|
Operand |
IRBuilder.buildClass(ClassNode classNode,
IRScope s)
Build a new class and add it to the current scope (s). |
Operand |
IRBuilder.buildClassVar(ClassVarNode node,
IRScope s)
|
Operand |
IRBuilder.buildClassVarAsgn(ClassVarAsgnNode classVarAsgnNode,
IRScope s)
|
Operand |
IRBuilder.buildClassVarDecl(ClassVarDeclNode classVarDeclNode,
IRScope s)
|
Operand |
IRBuilder.buildColon2(Colon2Node iVisited,
IRScope s)
|
Operand |
IRBuilder.buildColon3(Colon3Node node,
IRScope s)
|
Operand |
IRBuilder.buildConstDecl(ConstDeclNode node,
IRScope s)
|
Operand |
IRBuilder.buildConstDeclAssignment(ConstDeclNode constDeclNode,
IRScope s,
Operand val)
|
Operand |
IRBuilder.buildDAsgn(DAsgnNode dasgnNode,
IRScope s)
|
Operand |
IRBuilder.buildDefined(Node node,
IRScope m)
|
Operand |
IRBuilder.buildDefn(MethodDefNode node,
IRScope s)
|
Operand |
IRBuilder.buildDefs(DefsNode node,
IRScope s)
|
Operand |
IRBuilder.buildDot(DotNode dotNode,
IRScope s)
|
Operand |
IRBuilder.buildDRegexp(DRegexpNode dregexpNode,
IRScope s)
|
Operand |
IRBuilder.buildDStr(DStrNode dstrNode,
IRScope s)
|
Operand |
IRBuilder.buildDSymbol(Node node,
IRScope s)
|
Operand |
IRBuilder.buildDVar(DVarNode node,
IRScope m)
|
Operand |
IRBuilder.buildDXStr(DXStrNode dstrNode,
IRScope m)
|
Operand |
IRBuilder.buildEnsureNode(Node node,
IRScope m)
|
Operand |
IRBuilder.buildEvStr(EvStrNode node,
IRScope s)
|
Operand |
IRBuilder.buildFalse(Node node,
IRScope s)
|
Operand |
IRBuilder.buildFCall(FCallNode fcallNode,
IRScope s)
|
Operand |
IRBuilder.buildFixnum(FixnumNode node,
IRScope m)
|
Operand |
IRBuilder.buildFloat(FloatNode node,
IRScope m)
public Operand buildFlip(Node node, IRScope m) {
final FlipNode flipNode = (FlipNode) node;
m.getVariableCompiler().retrieveLocalVariable(flipNode.getIndex(), flipNode.getDepth());
if (flipNode.isExclusive()) {
m.performBooleanBranch(new BranchCallback() {
public void branch(IRScope m) {
build(flipNode.getEndNode(), m,true);
m.performBooleanBranch(new BranchCallback() {
public void branch(IRScope m) {
m.loadFalse();
m.getVariableCompiler().assignLocalVariable(flipNode.getIndex(), flipNode.getDepth(), false);
}
}, new BranchCallback() {
public void branch(IRScope m) {
}
});
m.loadTrue();
}
}, new BranchCallback() {
public void branch(IRScope m) {
build(flipNode.getBeginNode(), m,true);
becomeTrueOrFalse(m);
m.getVariableCompiler().assignLocalVariable(flipNode.getIndex(), flipNode.getDepth(), true);
}
});
} else {
m.performBooleanBranch(new BranchCallback() {
public void branch(IRScope m) {
build(flipNode.getEndNode(), m,true);
m.performBooleanBranch(new BranchCallback() {
public void branch(IRScope m) {
m.loadFalse();
m.getVariableCompiler().assignLocalVariable(flipNode.getIndex(), flipNode.getDepth(), false);
}
}, new BranchCallback() {
public void branch(IRScope m) {
}
});
m.loadTrue();
}
}, new BranchCallback() {
public void branch(IRScope m) {
build(flipNode.getBeginNode(), m,true);
m.performBooleanBranch(new BranchCallback() {
public void branch(IRScope m) {
build(flipNode.getEndNode(), m,true);
flipTrueOrFalse(m);
m.getVariableCompiler().assignLocalVariable(flipNode.getIndex(), flipNode.getDepth(), false);
m.loadTrue();
}
}, new BranchCallback() {
public void branch(IRScope m) {
m.loadFalse();
}
});
}
});
}
// TODO: don't require pop
if (!expr) m.consumeCurrentValue();
}
private void becomeTrueOrFalse(IRScope m) {
m.performBooleanBranch(new BranchCallback() {
public void branch(IRScope m) {
m.loadTrue();
}
}, new BranchCallback() {
public void branch(IRScope m) {
m.loadFalse();
}
});
}
private void flipTrueOrFalse(IRScope m) {
m.performBooleanBranch(new BranchCallback() {
public void branch(IRScope m) {
m.loadFalse();
}
}, new BranchCallback() {
public void branch(IRScope m) {
m.loadTrue();
}
});
} |
Operand |
IRBuilder.buildGetArgumentDefinition(Node node,
IRScope m,
java.lang.String type)
|
Operand |
IRBuilder.buildGetDefinition(Node node,
IRScope s)
|
Operand |
IRBuilder.buildGetDefinitionBase(Node node,
IRScope m)
|
Operand |
IRBuilder.buildGlobalAsgn(GlobalAsgnNode globalAsgnNode,
IRScope m)
|
Operand |
IRBuilder.buildGlobalVar(GlobalVarNode node,
IRScope m)
|
Operand |
IRBuilder.buildHash(HashNode hashNode,
IRScope m)
|
Operand |
IRBuilder.buildIf(IfNode ifNode,
IRScope s)
|
Operand |
IRBuilder.buildInstAsgn(InstAsgnNode instAsgnNode,
IRScope s)
|
Operand |
IRBuilder.buildInstVar(InstVarNode node,
IRScope m)
|
Operand |
IRBuilder.buildLiteral(LiteralNode literalNode,
IRScope s)
|
Operand |
IRBuilder.buildLocalAsgn(LocalAsgnNode localAsgnNode,
IRScope s)
|
Operand |
IRBuilder.buildLocalVar(LocalVarNode node,
IRScope s)
|
Operand |
IRBuilder.buildMatch(MatchNode matchNode,
IRScope m)
|
Operand |
IRBuilder.buildMatch2(Match2Node matchNode,
IRScope m)
|
Operand |
IRBuilder.buildMatch3(Match3Node matchNode,
IRScope m)
|
Operand |
IRBuilder.buildModule(ModuleNode moduleNode,
IRScope s)
|
Operand |
IRBuilder.buildMultipleAsgn(MultipleAsgnNode multipleAsgnNode,
IRScope s)
|
void |
IRBuilder.buildMultipleAsgnAssignment(MultipleAsgnNode multipleAsgnNode,
IRScope s,
Operand values)
|
Operand |
IRBuilder.buildNewline(NewlineNode node,
IRScope s)
|
Operand |
IRBuilder.buildNil(Node node,
IRScope m)
|
Operand |
IRBuilder.buildNot(NotNode node,
IRScope m)
|
Operand |
IRBuilder.buildNthRef(NthRefNode nthRefNode,
IRScope m)
|
Operand |
IRBuilder.buildOpAsgn(OpAsgnNode opAsgnNode,
IRScope s)
|
Operand |
IRBuilder.buildOpAsgnAnd(OpAsgnAndNode andNode,
IRScope s)
|
Operand |
IRBuilder.buildOpAsgnOr(OpAsgnOrNode orNode,
IRScope s)
|
Operand |
IRBuilder.buildOpElementAsgn(Node node,
IRScope m)
|
Operand |
IRBuilder.buildOpElementAsgnWithAnd(Node node,
IRScope s)
|
Operand |
IRBuilder.buildOpElementAsgnWithMethod(Node node,
IRScope s)
|
Operand |
IRBuilder.buildOpElementAsgnWithOr(Node node,
IRScope s)
|
Operand |
IRBuilder.buildOr(OrNode orNode,
IRScope m)
|
Operand |
IRBuilder.buildRegexp(RegexpNode reNode,
IRScope m)
|
Operand |
IRBuilder.buildRescue(Node node,
IRScope m)
|
Operand |
IRBuilder.buildRetry(Node node,
IRScope s)
|
Operand |
IRBuilder.buildReturn(ReturnNode returnNode,
IRScope m)
|
Operand |
IRBuilder.buildSClass(SClassNode sclassNode,
IRScope s)
|
Operand |
IRBuilder.buildSelf(Node node,
IRScope s)
|
void |
IRBuilder.buildSpecificArityArguments(java.util.List<Operand> args,
Node node,
IRScope s)
|
Operand |
IRBuilder.buildSplat(SplatNode splatNode,
IRScope s)
|
void |
IRBuilder.buildSplatArguments(java.util.List<Operand> args,
SplatNode node,
IRScope s)
|
Operand |
IRBuilder.buildStr(StrNode strNode,
IRScope s)
|
Operand |
IRBuilder.buildSuper(SuperNode superNode,
IRScope s)
|
Operand |
IRBuilder.buildSValue(SValueNode node,
IRScope s)
|
Operand |
IRBuilder.buildSymbol(SymbolNode node,
IRScope s)
|
Operand |
IRBuilder.buildToAry(ToAryNode node,
IRScope s)
|
Operand |
IRBuilder.buildTrue(Node node,
IRScope m)
|
Operand |
IRBuilder.buildUndef(Node node,
IRScope m)
|
Operand |
IRBuilder.buildVAlias(Node node,
IRScope m)
|
void |
IRBuilder.buildVariableArityArguments(java.util.List<Operand> args,
Node node,
IRScope s)
|
Operand |
IRBuilder.buildVCall(VCallNode node,
IRScope s)
|
Operand |
IRBuilder.buildXStr(XStrNode node,
IRScope m)
|
Operand |
IRBuilder.buildYield(YieldNode node,
IRScope s)
|
Operand |
IRBuilder.buildZArray(Node node,
IRScope m)
|
Operand |
IRBuilder.buildZSuper(ZSuperNode zsuperNode,
IRScope s)
|
void |
CompilerTarget.codegen(IRScope scope)
|
Operand |
IRBuilder.generateJRubyUtilityCall(IRScope m,
MethAddr meth,
Operand receiver,
Operand[] args)
|
void |
IRBuilder.receiveArgs(ArgsNode argsNode,
IRScope s)
|
java.util.List<Operand> |
IRBuilder.setupCallArgs(Node args,
IRScope s)
|
Node |
IRBuilder.skipOverNewlines(IRScope s,
Node n)
|