Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * To change this template, choose Tools | Templates
  * and open the template in the editor.
  */
 package org.jruby.ir.instructions.defined;
 
This is a base class for define instructions which have a receiver (object) and a name to query on that object.
public abstract class DefinedObjectNameInstr extends DefinedInstr {
    public DefinedObjectNameInstr(Operation operationVariable resultOperand[] operands) {
        super(operationresultoperands);
        
        assert operands.length >= 2 : "Too few operands to " + getClass().getName();
        assert operands[1] instanceof StringLiteral : "Operand 1 must be a string literal.  Was '" + operands[1].getClass() + "'";
    }
    public Operand getObject() {
        return [0];
    }
    
    public StringLiteral getName() {
        return (StringLiteral[1];
    }
    
    @Override
    public void simplifyOperands(Map<OperandOperandvalueMapboolean force) {
        // ENEBO: can variables ever simplify?  (CallBase does it?)
        //result = (Variable) result.getSimplifiedOperand(valueMap, force);
        
        for (int i = 0; i < .i++) {
            [i] = [i].getSimplifiedOperand(valueMapforce);
        }
    }
    
    @Override
    public String toString() {
        return super.toString() + "(" + getObject() + ", " + getName() + ")";
    }    
New to GrepCode? Check out our FAQ X