Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.jruby.ir.instructions;
 
 
/* Receive the closure argument (either implicit or explicit in Ruby source code) */
public class ReceiveClosureInstr extends Instr implements ResultInstr {
    private Variable result;
    
    public ReceiveClosureInstr(Variable result) {
        super(.);
        
        assert result != null"ReceiveClosureInstr result is null";
        
        this. = result;
    }
    public Operand[] getOperands() {
        return ;
    }
    
    public Variable getResult() {
        return ;
    }    
    public void updateResult(Variable v) {
        this. = v;
    }
    @Override
    public Instr cloneForInlinedScope(InlinerInfo ii) {
        // SSS FIXME: This is not strictly correct -- we have to wrap the block into an
        // operand type that converts the static code block to a proc which is a closure.
        if (ii.getCallClosure() instanceof WrappedIRClosurereturn .;
        else return new CopyInstr(ii.getRenamedVariable(), ii.getCallClosure());
    }
    @Override
    public Instr cloneForBlockCloning(InlinerInfo ii) {
        return new ReceiveClosureInstr(ii.getRenamedVariable());
    }
    @Override
    public void visit(IRVisitor visitor) {
        visitor.ReceiveClosureInstr(this);
    }
New to GrepCode? Check out our FAQ X