/** * */ package transformer_test; import java.io.File; import java.util.Collection; import java.util.LinkedList; import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import soot.SootMethod; import soottocfg.cfg.Program; import soottocfg.soot.transformers.ArrayTransformer; import soottocfg.soot.util.SootTranslationHelpers; /** * @author schaef * */ @RunWith(Parameterized.class) public class ArrayTransformerTest extends AbstractTransformerTest { @Parameterized.Parameters(name = "{index}: check ({1})") public static Collection<Object[]> data() { List<Object[]> filenames = new LinkedList<Object[]>(); final File source_dir = new File(testRoot + "transformation_tests/arrays/"); File[] directoryListing = source_dir.listFiles(); if (directoryListing != null) { for (File child : directoryListing) { if (child.isFile() && child.getName().endsWith(".java")) { filenames.add(new Object[] { child, child.getName() }); } } } return filenames; } public ArrayTransformerTest(File source, String name) { this.sourceFile = source; } @Test public void test() { Program p = new Program(); SootTranslationHelpers.initialize(p); List<SootMethod> methods = loadSootMethods(); // SootTranslationHelpers.createTypeFields(); ArrayTransformer arr = new ArrayTransformer(); arr.applyTransformation(); for (SootMethod sm : methods) { if (sm.hasActiveBody()) { System.out.println(sm.getActiveBody()); } } } }