You changed a lot of factory methods in jsProgram to use constructors directly. I can see how getting those methods out of JsProgram might be a good thing to do, but getting rid of the factory methods might foil a future effort to save memory in the AST by using a flyweight on some nodes (like literals)
http://gwt-code-reviews.appspot.com/1342801/diff/1/21 File dev/core/src/com/google/gwt/dev/js/ast/JsNestingScope.java (right): http://gwt-code-reviews.appspot.com/1342801/diff/1/21#newcode2 dev/core/src/com/google/gwt/dev/js/ast/JsNestingScope.java:2: * Copyright 2008 Google Inc. 2011 http://gwt-code-reviews.appspot.com/1342801/diff/1/22 File dev/core/src/com/google/gwt/dev/js/ast/JsNormalScope.java (right): http://gwt-code-reviews.appspot.com/1342801/diff/1/22#newcode2 dev/core/src/com/google/gwt/dev/js/ast/JsNormalScope.java:2: * Copyright 2008 Google Inc. 2011 http://gwt-code-reviews.appspot.com/1342801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
