org.jruby.compiler.ir.instructions
Class CaseInstr

java.lang.Object
  extended by org.jruby.compiler.ir.instructions.Instr
      extended by org.jruby.compiler.ir.instructions.OneOperandInstr
          extended by org.jruby.compiler.ir.instructions.CaseInstr

public class CaseInstr
extends OneOperandInstr


Field Summary
 
Fields inherited from class org.jruby.compiler.ir.instructions.Instr
operation, result
 
Constructor Summary
CaseInstr(Variable result, Operand arg, Label endLabel)
           
 
Method Summary
 Instr cloneForInlining(InlinerInfo ii)
          Clone the instruction for inlining -- this will rename all variables (including local variables and self!) and replace RECV_ARG and RETURN instructions to regular copy instructions,
 Label interpret(InterpreterContext interp, IRubyObject self)
           
 void setElse(Label elseLabel)
           
 void setLabels(java.util.List<Label> labels)
           
 void setVariables(java.util.List<Operand> variables)
           
 void simplifyOperands(java.util.Map<Operand,Operand> valueMap)
          This method takes as input a map of operands to their values, and outputs If the value map provides a value for any of the instruction's operands this method is expected to replace the original operands with the simplified values.
 java.lang.String toString()
           
 
Methods inherited from class org.jruby.compiler.ir.instructions.OneOperandInstr
getArg, getOperands
 
Methods inherited from class org.jruby.compiler.ir.instructions.Instr
canRaiseException, getOperation, getResult, getUsedVariables, hasSideEffects, isDead, markDead, simplifyAndGetResult
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CaseInstr

public CaseInstr(Variable result,
                 Operand arg,
                 Label endLabel)
Method Detail

setLabels

public void setLabels(java.util.List<Label> labels)

setVariables

public void setVariables(java.util.List<Operand> variables)

setElse

public void setElse(Label elseLabel)

toString

public java.lang.String toString()
Overrides:
toString in class OneOperandInstr

simplifyOperands

public void simplifyOperands(java.util.Map<Operand,Operand> valueMap)
Description copied from class: Instr
This method takes as input a map of operands to their values, and outputs If the value map provides a value for any of the instruction's operands this method is expected to replace the original operands with the simplified values. It is not required that it do so -- code correctness is not compromised by failure to simplify

Overrides:
simplifyOperands in class OneOperandInstr

cloneForInlining

public Instr cloneForInlining(InlinerInfo ii)
Description copied from class: Instr
Clone the instruction for inlining -- this will rename all variables (including local variables and self!) and replace RECV_ARG and RETURN instructions to regular copy instructions,

Specified by:
cloneForInlining in class Instr

interpret

public Label interpret(InterpreterContext interp,
                       IRubyObject self)
Overrides:
interpret in class Instr


Copyright © 2002-2009 JRuby Team. All Rights Reserved.