blob: f9922ae39ed184a65af353aacfd7e8dae80c818e [file] [log] [blame]
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/*member: tryFinally:declared={a, b, d}, assigned={a, b}*/
tryFinally(int a, int b) {
/*assigned={a}*/ try /*declared={c}, assigned={a}*/ {
a = 0;
var c;
} finally {
b = 0;
var d;
}
}
/*member: tryCatchFinally:declared={a, b, c, f}, assigned={a, b, c}*/
tryCatchFinally(int a, int b, int c) {
// Note: try/catch/finally is desugared into try/catch nested inside
// try/finally. The comment preceding the "try" refers to the outer
// "try" block of the desugaring, and the comment after the "try"
// refers to the inner "try" block of the desugaring.
/*declared={e}, assigned={a, b}*/ try /*declared={d}, assigned={a}*/ {
a = 0;
var d;
} on String {
b = 0;
var e;
} finally {
c = 0;
var f;
}
}