// 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. // @dart = 2.7 // dart2jsOptions=--strong import 'package:expect/expect.dart'; class Class1a { Class1a(); } class Class1b extends Class1a { Class1b(); } class Class1c extends Class1a { Class1c(); } class Class2 { Class2(); } class Class3 { final Class1a field; Class3(this.field); } test(Class3 c, Type type) { return c.field.runtimeType == type; } main() { Expect.isTrue(test(new Class3(new Class1a()), Class1a)); Expect.isFalse(test(new Class3(new Class1b()), Class1a)); Expect.isFalse(test(new Class3(new Class1c()), Class1a)); new Class2(); }