7553b2e75c
Note that the types of the exception and stack trace variables are set in the BodyBuilder since they do not depend on inference of other parts of the function. R=scheglov@google.com Review-Url: https://codereview.chromium.org/2954823002 .
32 lines
651 B
Dart
32 lines
651 B
Dart
// 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;
|
|
}
|
|
}
|
|
|
|
main() {}
|