1) I changed the State.maybeX() methods to add their jobs to a work-queue instead of processing them immediately. I think that should significantly reduce the stack depth.
2) Requiring a @ProxyFor annotation has also been deferred until after all types have been scanned. This should prevent the multiple-warning scenario. 3) The DiagnosticKind.NOTE just doesn't show up in the Eclipse editor. It will show up in the "Error Log" view, but that view doesn't provide a back-reference to the element. Regarding the 5926 case, were any of those methods defined in unchecked proxies or RequestContexts? I just want to make sure the problem is really fixed the first time around. Thanks for testing this out. http://gwt-code-reviews.appspot.com/1467804/diff/3002/user/src/com/google/web/bindery/requestfactory/apt/DomainChecker.java File user/src/com/google/web/bindery/requestfactory/apt/DomainChecker.java (right): http://gwt-code-reviews.appspot.com/1467804/diff/3002/user/src/com/google/web/bindery/requestfactory/apt/DomainChecker.java#newcode58 user/src/com/google/web/bindery/requestfactory/apt/DomainChecker.java:58: this.params = new ArrayList<TypeMirror>(params.size()); On 2011/06/28 00:29:30, tbroyer wrote:
Wrap in a Collections.unmodifiableList() (as a safeguard)
Done. http://gwt-code-reviews.appspot.com/1467804/diff/3002/user/src/com/google/web/bindery/requestfactory/apt/DomainChecker.java#newcode187 user/src/com/google/web/bindery/requestfactory/apt/DomainChecker.java:187: state.poison(checkedType, "Could not find domain method similar to %s", sb); On 2011/06/28 00:29:30, tbroyer wrote:
Should pass clientMethodElement, otherwise @SkipInterfaceValidation
will only be
checked on the class, not on the method.
Done. http://gwt-code-reviews.appspot.com/1467804/diff/3002/user/src/com/google/web/bindery/requestfactory/apt/ProxyScanner.java File user/src/com/google/web/bindery/requestfactory/apt/ProxyScanner.java (right): http://gwt-code-reviews.appspot.com/1467804/diff/3002/user/src/com/google/web/bindery/requestfactory/apt/ProxyScanner.java#newcode78 user/src/com/google/web/bindery/requestfactory/apt/ProxyScanner.java:78: state.addMapping(x, domain); On 2011/06/28 00:29:30, tbroyer wrote:
This should be called even if domain==null, maybe with a special
value, to take
note that the proxy has been seen, so that TransportableTypeVisitor
doesn't bail
each time it sees it later.
Done. http://gwt-code-reviews.appspot.com/1467804/diff/3002/user/src/com/google/web/bindery/requestfactory/apt/TypeSimplifier.java File user/src/com/google/web/bindery/requestfactory/apt/TypeSimplifier.java (right): http://gwt-code-reviews.appspot.com/1467804/diff/3002/user/src/com/google/web/bindery/requestfactory/apt/TypeSimplifier.java#newcode53 user/src/com/google/web/bindery/requestfactory/apt/TypeSimplifier.java:53: private boolean boxPrimitives; On 2011/06/28 00:29:30, tbroyer wrote:
make 'final'
Done. http://gwt-code-reviews.appspot.com/1467804/diff/3002/user/src/com/google/web/bindery/requestfactory/apt/TypeSimplifier.java#newcode64 user/src/com/google/web/bindery/requestfactory/apt/TypeSimplifier.java:64: List<TypeMirror> newArgs = new ArrayList<TypeMirror>(); On 2011/06/28 00:29:30, tbroyer wrote:
Initialize capacity at x.getTypeArguments().size().
Done. http://gwt-code-reviews.appspot.com/1467804/diff/3002/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryInterfaceValidatorTest.java File user/test/com/google/web/bindery/requestfactory/server/RequestFactoryInterfaceValidatorTest.java (right): http://gwt-code-reviews.appspot.com/1467804/diff/3002/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryInterfaceValidatorTest.java#newcode45 user/test/com/google/web/bindery/requestfactory/server/RequestFactoryInterfaceValidatorTest.java:45: // This annotation is temporary until RFIV and this test are removed On 2011/06/28 00:29:30, tbroyer wrote:
Just so that it's clear for everyone, maybe add a note saying the RFIV
only
processes SkipInterfaceValidation on methods, not on types (even less
containing
types), and that this annotation here is for the annotation processor.
Done. http://gwt-code-reviews.appspot.com/1467804/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
