for(Parameter parm : fn.getParameters())
parmtps.add(SootTypeUtil.getSootType(parm.type()));
// create SootMethod
String fnName = fn.getName();
Type fnReturnType = SootTypeUtil.getSootType(fn.getReturnType().getDescriptor());
int fnModifiers = ModuleCodeGenerator.getModifiers(fn);
SootMethod method = new SootMethod(fnName, parmtps, fnReturnType, fnModifiers);
klass.addMethod(method);
// create body
body = Jimple.v().newBody(method);
method.setActiveBody(body);
// create identity statements
int nparm = fn.getNumParameter();
for(int i=0;i<nparm;++i) {
Parameter parm = fn.getParameter(i);
Local sootLocal = getSootLocal(parm);
Type parmType = SootTypeUtil.getSootType(parm.type());
ParameterRef soot_parm = Jimple.v().newParameterRef(parmType, i);
body.getUnits().add(Jimple.v().newIdentityStmt(sootLocal, soot_parm));
}
// generate code for statements