Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.jruby.ir.operands;
 
 
 import java.util.List;
 import java.util.Map;
 
 public abstract class Variable extends Operand implements Comparable {
     public final static String BLOCK          = "%block";
    public final static String CURRENT_SCOPE  = "%current_scope";
    public final static String CURRENT_MODULE = "%current_module";
    public abstract String getName();
    @Override
    public boolean canCopyPropagate() {
        return true;
    }
    @Override
    public Operand getSimplifiedOperand(Map<OperandOperandvalueMapboolean force) {
        Operand v = valueMap.get(this);
        // You can only value-replace atomic values
        return (v != null) && (force || v.canCopyPropagate()) ? v : this;
    }
    public boolean isImplicitBlockArg() {
        return getName().equals();
    }
    @Override
    public Operand getValue(Map<OperandOperandvalueMap) {
        Operand v = valueMap.get(this);
        return (v == null) ? this : v;
    }

    
Append the list of variables used in this operand to the input list
    @Override
    public void addUsedVariables(List<Variablel) {
        l.add(this);
    }
    public abstract Variable cloneForCloningClosure(InlinerInfo ii);
    @Override
    public Operand cloneForInlining(InlinerInfo ii) { 
        return ii.getRenamedVariable(this);
    }
New to GrepCode? Check out our FAQ X