| Index: sdk/lib/_internal/compiler/implementation/resolution/members.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/resolution/members.dart b/sdk/lib/_internal/compiler/implementation/resolution/members.dart
|
| index ab1b7baea877ae9e110ee4b0776dbc9eadc876c8..079863eab0faf3746cde77b33683af77279994d4 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/resolution/members.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/resolution/members.dart
|
| @@ -2477,7 +2477,11 @@ class ResolverVisitor extends CommonResolverVisitor<Element> {
|
| if (!inCatchBlock && node.expression == null) {
|
| error(node, MessageKind.THROW_WITHOUT_EXPRESSION);
|
| }
|
| - compiler.backend.registerThrow(mapping);
|
| + // We don't know ahead of time whether we will need the throw in a statement
|
| + // context or an expression context, so we register both here, even though
|
| + // we may not need ThrowExpression.
|
| + compiler.backend.registerWrapException(mapping);
|
| + compiler.backend.registerThrowExpression(mapping);
|
| visit(node.expression);
|
| }
|
|
|
|
|