Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* Soot - a J*va Optimization Framework
   * Copyright (C) 1999 Patrick Lam
   *
   * This library is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
   * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
 
 /*
  * Modified by the Sable Research Group and others 1997-1999.  
  * See the 'credits' file distributed with Soot for the complete list of
  * contributors.  (Soot is distributed at http://www.sable.mcgill.ca/soot)
  */
 
 
 
 
 
 
 package soot.jimple.internal;
 
 import soot.tagkit.*;
 import soot.*;
 import soot.jimple.*;
 import soot.util.*;
 import java.util.*;
 
 public abstract class AbstractNewMultiArrayExpr implements NewMultiArrayExpr
 {
     ArrayType baseType;
     protected ValueBox[] sizeBoxes;
 
     public abstract Object clone();
     
     protected AbstractNewMultiArrayExpr(ArrayType typeValueBox[] sizeBoxes)
     {
         this. = typethis. = sizeBoxes;
     }
 
     public boolean equivTo(Object o)
     {
         if (o instanceof AbstractNewMultiArrayExpr)
         {
             AbstractNewMultiArrayExpr ae = (AbstractNewMultiArrayExpr)o;
             if (!.equals(ae.baseType) || 
                     . != ae.sizeBoxes.length)
                 return false;
             for (ValueBox element : )
 				if (element != element)
                     return false;
             return true;
         }
         return false;
     }

    
Returns a hash code for this object, consistent with structural equality.
 
     public int equivHashCode() 
     {
         return .hashCode();
     }
 
     public String toString()
     {
         StringBuffer buffer = new StringBuffer();
 
         Type t = .;
     buffer.append(. + " (" +  t.toString() + ")");
 
         for (ValueBox element : )
 			buffer.append("[" + element.getValue().toString() + "]");
 
         for(int i = 0; i < . - .i++)
             buffer.append("[]");
 
         return buffer.toString();
     }
     
     public void toString(UnitPrinter up)
     {
         Type t = .;
         
         up.literal(.);
         up.literal(" (");
         up.type(t);
         up.literal(")");
 
         for (ValueBox element : ) {
             up.literal("[");
            element.toString(up);
            up.literal("]");
        }
        
        for(int i = 0; i < . - .i++) {
            up.literal("[]");
        }
    }
    public ArrayType getBaseType()
    {
        return ;
    }
    public void setBaseType(ArrayType baseType)
    {
        this. = baseType;
    }
    public ValueBox getSizeBox(int index)
    {
        return [index];
    }
    public int getSizeCount()
    {
        return .;
    }
    public Value getSize(int index)
    {
        return [index].getValue();
    }
    public List getSizes()
    {
        List toReturn = new ArrayList();
        for (ValueBox element : )
			toReturn.add(element.getValue());
        return toReturn;
    }
    public void setSize(int indexValue size)
    {
        [index].setValue(size);
    }
    public List getUseBoxes()
    {
        List list = new ArrayList();
        for (ValueBox element : ) {
            list.addAll(element.getValue().getUseBoxes());
            list.add(element);
        }
        return list;
    }
    public Type getType()
    {
        return ;
    }
    public void apply(Switch sw)
    {
        ((ExprSwitchsw).caseNewMultiArrayExpr(this);
    }
New to GrepCode? Check out our FAQ X