/*
* 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;
}
}