blob: c87c3f32a5e7f1d8ef5c22d390ccb763cfaa9b4e [file] [log] [blame]
// Copyright (c) 2018, 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.
import 'package:meta/dart2js.dart';
/*class: A:checkedTypeArgument,checks=[],typeArgument*/
class A<T> {}
/*class: B:checkedInstance*/
class B<T> {}
/*class: C:checks=[]*/
class C<T> {}
/*class: D:checks=[$asB,$isB],instance*/
class D<T> extends C<T> implements B<A<T>> {}
@noInline
test(o) => o is B<A<String>>;
main() {
test(new D<String>());
test(new D<int>());
}