Package org.trifort.rootbeer.generate.bytecode

Source Code of org.trifort.rootbeer.generate.bytecode.MultiDimensionalArrayTypeCreator

/*
* Copyright 2012 Phil Pratt-Szeliga and other contributors
* http://chirrup.org/
*
* See the file LICENSE for copying permission.
*/

package org.trifort.rootbeer.generate.bytecode;

import java.util.*;
import soot.ArrayType;
import soot.Type;

public class MultiDimensionalArrayTypeCreator {


  public MultiDimensionalArrayTypeCreator(){
  }

  public Set<ArrayType> create(Set<ArrayType> types){
    Set<ArrayType> ret = new HashSet<ArrayType>();
    for(ArrayType type : types){
      Type base_type = type.baseType;
      int dim = type.numDimensions;
      for(int i = dim - 1; i > 0; --i){
        ArrayType curr = ArrayType.v(base_type, i);
        if(types.contains(curr) == false){
          ret.add(curr);
        }
      }
    }
    return ret;
  }
}
TOP

Related Classes of org.trifort.rootbeer.generate.bytecode.MultiDimensionalArrayTypeCreator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.