How about some tests?
http://gwt-code-reviews.appspot.com/1454806/diff/5001/dev/core/src/com/google/gwt/dev/js/JsDuplicateFunctionRemover.java File dev/core/src/com/google/gwt/dev/js/JsDuplicateFunctionRemover.java (right): http://gwt-code-reviews.appspot.com/1454806/diff/5001/dev/core/src/com/google/gwt/dev/js/JsDuplicateFunctionRemover.java#newcode53 dev/core/src/com/google/gwt/dev/js/JsDuplicateFunctionRemover.java:53: shouldn't the name of the map reflect the comments there? e.g. uniqueStaticOrGlobalBodies and uniqueVirtualMethodBodies http://gwt-code-reviews.appspot.com/1454806/diff/5001/dev/core/src/com/google/gwt/dev/js/JsDuplicateFunctionRemover.java#newcode102 dev/core/src/com/google/gwt/dev/js/JsDuplicateFunctionRemover.java:102: /* s/function/functions http://gwt-code-reviews.appspot.com/1454806/diff/5001/dev/core/src/com/google/gwt/dev/js/JsDuplicateFunctionRemover.java#newcode186 dev/core/src/com/google/gwt/dev/js/JsDuplicateFunctionRemover.java:186: dfbr.accept(fragment); maybe put this new code in a separate method, like "prepareHoistMap" http://gwt-code-reviews.appspot.com/1454806/diff/5001/dev/core/src/com/google/gwt/dev/js/JsDuplicateFunctionRemover.java#newcode192 dev/core/src/com/google/gwt/dev/js/JsDuplicateFunctionRemover.java:192: if (!hoistMap.containsKey(x)) { s/re-declaring/redeclare http://gwt-code-reviews.appspot.com/1454806/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
