I've added similar changes to BigDecimal and BigInteger so you can have those Big* types in your autobeans/RF-proxies and accept numeric values in the JSON (allows changing from Double to BigDecimal, for instance, in an interface without the need to change the server-side code / JSON serialization).
http://gwt-code-reviews.appspot.com/1601805/diff/2004/user/test/com/google/web/bindery/autobean/benchmarks/ValueCodexBenchmark.java File user/test/com/google/web/bindery/autobean/benchmarks/ValueCodexBenchmark.java (right): http://gwt-code-reviews.appspot.com/1601805/diff/2004/user/test/com/google/web/bindery/autobean/benchmarks/ValueCodexBenchmark.java#newcode16 user/test/com/google/web/bindery/autobean/benchmarks/ValueCodexBenchmark.java:16: public class ValueCodexBenchmark extends Benchmark { On 2012/04/05 20:34:10, skybrian wrote:
javadoc: could you explain what you're benchmarking?
Also, maybe add a link to your spreadsheet.
Done. http://gwt-code-reviews.appspot.com/1601805/diff/2004/user/test/com/google/web/bindery/autobean/shared/AutoBeanCodexTest.java File user/test/com/google/web/bindery/autobean/shared/AutoBeanCodexTest.java (right): http://gwt-code-reviews.appspot.com/1601805/diff/2004/user/test/com/google/web/bindery/autobean/shared/AutoBeanCodexTest.java#newcode216 user/test/com/google/web/bindery/autobean/shared/AutoBeanCodexTest.java:216: Date now = new Date(); On 2012/04/05 20:34:10, skybrian wrote:
Using the current date in a test isn't a great choice - at least you'd
want to
try various dates for the next 10 years or so. Maybe try the years
1900 and
2100.
Done. http://gwt-code-reviews.appspot.com/1601805/diff/2004/user/test/com/google/web/bindery/autobean/shared/AutoBeanCodexTest.java#newcode237 user/test/com/google/web/bindery/autobean/shared/AutoBeanCodexTest.java:237: AutoBean<HasLong> decodedBean = AutoBeanCodex.decode(f, HasLong.class, "{\"long\": 42}"); On 2012/04/05 20:34:10, skybrian wrote:
Let's try a wider range. I expect it breaks for Long.MAX_VALUE and Long.MIN_VALUE.
Done. Added Long.MIN_VALUE+1 (there's an issue with MIN_VALUE, see issue 7308) and Long.MAX_VALUE in testLong; and JavaScript's min/max values for numbers and dates in testDecodeLongFromNumericValue and testDate/testDecodeDateFromNumericTimestamp. http://gwt-code-reviews.appspot.com/1601805/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors