Updated.
http://gwt-code-reviews.appspot.com/46801/diff/1041/24 File dev/core/src/com/google/gwt/dev/javac/ArtificialRescueChecker.java (right): http://gwt-code-reviews.appspot.com/46801/diff/1041/24#newcode282 Line 282: return "Cannot refer to fields on " + "array or primitive types"; On 2009/07/03 04:23:38, scottb wrote: > Why split? I had used the "extract method" refactoring and promptly forgot about reformatting the message. http://gwt-code-reviews.appspot.com/46801/diff/1041/24#newcode313 Line 313: private boolean allowArtificialRescue = true; Done. http://gwt-code-reviews.appspot.com/46801/diff/1041/26 File dev/core/src/com/google/gwt/dev/jdt/AbstractCompiler.java (right): http://gwt-code-reviews.appspot.com/46801/diff/1041/26#newcode504 Line 504: protected String[] doFindAdditionalTypesUsingArtificialRescues( Done. Can you publish your eclipse warnings/errors settings? http://gwt-code-reviews.appspot.com/46801/diff/1041/29 File dev/core/src/com/google/gwt/dev/jjs/ast/HasArtificialRescues.java (right): http://gwt-code-reviews.appspot.com/46801/diff/1041/29#newcode25 Line 25: public interface HasArtificialRescues { Only because when I started I wasn't sure if it the annotation would be on just types, methods, or both. Removed. http://gwt-code-reviews.appspot.com/46801/diff/1041/30 File dev/core/src/com/google/gwt/dev/jjs/ast/JDeclaredType.java (right): http://gwt-code-reviews.appspot.com/46801/diff/1041/30#newcode35 Line 35: * The other nodes that this node should implicitly rescue. Done. http://gwt-code-reviews.appspot.com/46801/diff/1041/31 File dev/core/src/com/google/gwt/dev/jjs/ast/JField.java (right): http://gwt-code-reviews.appspot.com/46801/diff/1041/31#newcode82 Line 82: public void setDisposition(Disposition disposition) { No longer necessary based on your other comments; Changes to this file have been reverted. http://gwt-code-reviews.appspot.com/46801/diff/1041/32 File dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java (right): http://gwt-code-reviews.appspot.com/46801/diff/1041/32#newcode914 Line 914: if ("Z".equals(className) || "boolean".equals(className)) { Primitives are illegal rescues, but array types can be rescued; B extends A; If an RPC type uses A[], then we need to make sure that the compiled module also includes support for B[]. http://gwt-code-reviews.appspot.com/46801/diff/1041/32#newcode1086 Line 1086: visitor.accept(new ArrayList<JArrayType>(allArrayTypes)); This is no longer necessary. Reverting all changes to JProgram. http://gwt-code-reviews.appspot.com/46801/diff/1041/34 File dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java (right): http://gwt-code-reviews.appspot.com/46801/diff/1041/34#newcode2512 Line 2512: field.setDisposition(JField.Disposition.VOLATILE); It's no longer necessary given the current implementation of CFA.rescue(JReferenceType) which handles fields. http://gwt-code-reviews.appspot.com/46801/diff/1041/34#newcode2520 Line 2520: outer : for (String methodName : methods) { Both the methods and fields loops have been collapsed into a single loop. http://gwt-code-reviews.appspot.com/46801/diff/1041/34#newcode2980 Line 2980: * @param goldenCuds TODO Unthreaded. http://gwt-code-reviews.appspot.com/46801/diff/1041/36 File dev/core/src/com/google/gwt/dev/jjs/impl/Pruner.java (right): http://gwt-code-reviews.appspot.com/46801/diff/1041/36#newcode147 Line 147: boolean pruned; On 2009/07/03 04:23:38, scottb wrote: > LG, but separate commit, right? Yes; existing logic was hard to keep straight. http://gwt-code-reviews.appspot.com/46801/diff/1041/38 File dev/core/src/com/google/gwt/dev/js/ast/JsFunction.java (right): http://gwt-code-reviews.appspot.com/46801/diff/1041/38#newcode128 Line 128: Fixed. http://gwt-code-reviews.appspot.com/46801/diff/1041/39 File dev/core/super/com/google/gwt/core/client/ArtificialRescue.java (right): http://gwt-code-reviews.appspot.com/46801/diff/1041/39#newcode26 Line 26: * of the deRPC code and its use by third parties is not supported. On 2009/07/03 04:23:38, scottb wrote: > There's also a core.client.impl package, would that be more appropriate? Moved. http://gwt-code-reviews.appspot.com/46801/diff/1041/39#newcode29 Line 29: @Retention(RetentionPolicy.SOURCE) On 2009/07/03 04:23:38, scottb wrote: > Is this going to jive with IHM? I could foresee needed classfile retention. Fixed. http://gwt-code-reviews.appspot.com/46801/diff/1041/39#newcode40 Line 40: String className(); Class literals have language access restrictions. The original version did use class literals, but you can't legally to package-protected inner types from code outside the package. Then you'd wind up with rescuer types all over the place, instead of being able to generate exactly one rescuer per RemoteService (making manual verification of rescued types easier). http://gwt-code-reviews.appspot.com/46801/diff/1041/40 File dev/core/test/com/google/gwt/dev/javac/ArtificialRescueCheckerTest.java (right): http://gwt-code-reviews.appspot.com/46801/diff/1041/40#newcode25 Line 25: private StringBuilder targetClass; Done. http://gwt-code-reviews.appspot.com/46801/diff/1041/41 File dev/core/test/com/google/gwt/dev/javac/CheckerTestCase.java (right): http://gwt-code-reviews.appspot.com/46801/diff/1041/41#newcode95 Line 95: } I don't know why, but it just works. Is it the use of the import statements? http://gwt-code-reviews.appspot.com/46801 --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---