More detail to clarify. Given the following source code:
try {
Window.alert("Hello, AJAX");
} catch (IndexOutOfBoundsException a) {
Window.alert(a.toString());
} catch (RuntimeException b) {
Window.alert(b.toString());
} catch (Throwable c) {
Window.alert(c.toString());
}
We were producing:
try {
Window.alert("Hello, AJAX");
} catch (Object $e0) {
$e0 = Exceptions.caught($e0);
if ($e0 instanceof IndexOutOfBoundsException) {
a = $e0;
Window.alert(Throwable.$toString(a));
} else if ($e0 instanceof RuntimeException) {
b = $e0;
Window.alert(Throwable.$toString(b));
} else if ($e0 instanceof Throwable) {
c = $e0;
Window.alert(Throwable.$toString(c));
} else
throw $e0;
}
}
Notice that a, b, and c never get a JDeclarationStatement? This patch
makes it produce:
try {
Window.alert("Hello, AJAX");
} catch (Object $e0) {
$e0 = Exceptions.caught($e0);
if ($e0 instanceof IndexOutOfBoundsException) {
final IndexOutOfBoundsException a = $e0;
Window.alert(Throwable.$toString(a));
} else if ($e0 instanceof RuntimeException) {
final RuntimeException b = $e0;
Window.alert(Throwable.$toString(b));
} else if ($e0 instanceof Throwable) {
final Throwable c = $e0;
Window.alert(Throwable.$toString(c));
} else
throw $e0;
}
}
http://gwt-code-reviews.appspot.com/51813
--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---