| Index: dart/lib/compiler/implementation/scanner/listener.dart
|
| diff --git a/dart/lib/compiler/implementation/scanner/listener.dart b/dart/lib/compiler/implementation/scanner/listener.dart
|
| index a6c8d782fc6b25030a5ae2f1e07fd673c6f15c77..cbbc89c441f1ae61c0229a1235f7846f1cdeb278 100644
|
| --- a/dart/lib/compiler/implementation/scanner/listener.dart
|
| +++ b/dart/lib/compiler/implementation/scanner/listener.dart
|
| @@ -254,7 +254,7 @@ class Listener {
|
| void handleCaseMatch(Token caseKeyword, Token colon) {
|
| }
|
|
|
| - void handleCatchBlock(Token catchKeyword) {
|
| + void handleCatchBlock(Token onKeyword, Token catchKeyword) {
|
| }
|
|
|
| void handleFinallyBlock(Token finallyKeyword) {
|
| @@ -1361,10 +1361,11 @@ class NodeListener extends ElementListener {
|
| pushNode(new CaseMatch(caseKeyword, popNode(), colon));
|
| }
|
|
|
| - void handleCatchBlock(Token catchKeyword) {
|
| + void handleCatchBlock(Token onKeyword, Token catchKeyword) {
|
| Block block = popNode();
|
| NodeList formals = popNode();
|
| - pushNode(new CatchBlock(formals, block, catchKeyword));
|
| + TypeAnnotation type = onKeyword != null ? popNode() : null;
|
| + pushNode(new CatchBlock(type, formals, block, type, catchKeyword));
|
| }
|
|
|
| void endSwitchStatement(Token switchKeyword, Token endToken) {
|
|
|