/* * Copyright 2012 Phil Pratt-Szeliga and other contributors * http://chirrup.org/ * * See the file LICENSE for copying permission. */ package org.trifort.rootbeer.generate.opencl.fields; import java.util.Comparator; import soot.SootClass; import soot.rbclassload.RootbeerClassLoader; public class NumberedTypeSortComparator implements Comparator<SootClass>{ private boolean m_lowest; public NumberedTypeSortComparator(boolean lowest_type_num_first) { m_lowest = lowest_type_num_first; } public int compare(SootClass lhs, SootClass rhs) { Integer lhs_number = Integer.valueOf(RootbeerClassLoader.v().getClassNumber(lhs)); Integer rhs_number = Integer.valueOf(RootbeerClassLoader.v().getClassNumber(rhs)); if(m_lowest){ return lhs_number.compareTo(rhs_number); } else { return rhs_number.compareTo(lhs_number); } } }