blob: 5011e4fae6385b4fc3d387a1b9850c32c6648f4a [file] [log] [blame]
// Copyright (c) 2017, 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.
/*@testedFeatures=inference*/
library test;
class C {}
class D {}
class E {}
void test(void f()) {
try {
var /*@ type=int* */ x = 0;
f();
} on C {
var /*@ type=int* */ x = 0;
} on D catch (x) {
var /*@ type=D* */ x2 = x;
} on E catch (x, y) {
var /*@ type=E* */ x2 = x;
var /*@ type=StackTrace* */ y2 = y;
} catch (x, y) {
var /*@ type=dynamic */ x2 = x;
var /*@ type=StackTrace* */ y2 = y;
} finally {
var /*@ type=int* */ x = 0;
}
}
main() {}