Operations like i += d where i is an int and d is a double are not properly truncated (narrowed) to the LHS type. This patch forces i += d to be written as i = i + d, and applies a narrowing cast as needed, e.g. i = (int)(i + d); Updated to fix String concat issue: Review at http://gwt-code-reviews.appspot.com/1385803 Review by: scottb@google.com git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@9903 8db76d5a-ed1c-0410-87a9-c151d255dfc7