Submitting changes/scottb/compiler_refactor into the trunk.

MAJOR compiler refactor:
- Java AST visitation/traversal was refactored
- Java AST changes are applied using the new JModVistor
- Removed the whole idea of change lists
- Java AST now contains file/line source info from JDT

New DeadCodeElimination visitor base on patch by sandymac:
- Optimizes if (booleanConstant); while (false); for (; false; ); do while (false)
- Optimizes !booleanConstant
- Short-circuit eval of binary operators && and ||
- Removes unnecessary try blocks
- Removes empty blocks

TODO:
- Revisit design of JVisitor/JModVisitor
- Implement InternalCompilerException.addNode() and log much better info when an ICE occurs

Patch by: sandymac (just DeadCodeElimination.java; adapted by me)
Reviewed by: mmendez



git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@340 8db76d5a-ed1c-0410-87a9-c151d255dfc7
111 files changed