Changed DominatorTree to have getHeads

DominatorTree's used to have getHead() as the method to get the head of
the tree. Unfortunately, if it was a post-dominator tree and you wanted
to compute the post-dominator frontier this caused problems for
functions with multiple distiguished exits (eg. more than one head in
the post-dom tree). Basically, what would happen is the frontier would
miss elements for certain graph constructions.

I have fixed this problem by removing the getHead() method and replacing
it with a getHeads() method. I also cleaned up a lot of whitespace
issues in these files.

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>
added back getHead in DominatorTree

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>
started work on tests for dominance computation

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>
deleted .swp files someone checked in

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>
added dominator tree test for general acyclic region

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>
Cleaned up Graph implementation

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>
Test for multi-tailed post-dom tree

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>
Tests now build with Ant as well as Buildr

I was using buildr to test (as that is the build system I use to build
soot for my project). These updates allow the tests to be run from the
ant buildfile. Note, you need to add a Hamcrest jar and update your
junit.jar to something reasonably recent in the 4.x series (I recommend
just using junit-4.8.2.jar).

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>
Now only include actual test classes in junit run

It was including inner classes and other random stuff before.

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>
Updated Junit and Fixed (Most) Failing Tests

I updated JUnit to 4.11 and fixed most of the failing tests. One key
element to this was to use System.getProperty("sun.boot.class.path") to
find the right class path for the test runs of soot. Basically, that
property contains the class path that has the right paths to all the JRE
built-in jars (such as rt.jar).

By upgrading to 4.11 I put some @Ignore("Fails") annotations on tests
that are not passing right now. These are almost all in
UnitThorwAnalysisTest.

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>
1. merged DominatorTree and MHGDominatorTree in a backwards-compatible fashion to get rid of the duplicate code.

2. fixed numerous typing issues
fixed the build path in ant and eclipse
added type information