package org.trifort.rootbeer.generate.opencl;
import java.util.ArrayList;
import java.util.List;
import soot.SootMethod;
import soot.rbclassload.ClassHierarchy;
import soot.rbclassload.MethodSignatureUtil;
import soot.rbclassload.RootbeerClassLoader;
public class ConcreteMethods {
public List<String> get(String signature){
MethodSignatureUtil util = new MethodSignatureUtil();
ClassHierarchy class_hierarchy = RootbeerClassLoader.v().getClassHierarchy();
List<String> virtual_methods = class_hierarchy.getVirtualMethods(signature);
List<String> ret = new ArrayList<String>();
for(String virt_method : virtual_methods){
util.parse(virt_method);
SootMethod method = util.getSootMethod();
if(method.isAbstract() == false){
ret.add(virt_method);
}
}
return ret;
}
}