blob: 28ac00d5f53cd3b70e94811d9a60ad56d3b40386 [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.
*/
/**
* @assertion All types reified in legacy libraries are reified as legacy types.
* @description Check that runtime type of the function imported from opted to
* legacy library is a legacy type.
* @author iarkh@unipro.ru
*/
// Requirements=nnbd-weak
import "../../../Utils/expect.dart";
import "type_reification_legacy_lib.dart";
main() {
Expect.isTrue(test1 is F1);
Expect.isTrue(test2 is F1);
Expect.isFalse(test3 is F1);
Expect.isTrue(test1 is F1?);
Expect.isTrue(test2 is F1?);
Expect.isFalse(test3 is F1?);
Expect.isFalse(test1 is F2);
Expect.isFalse(test2 is F2);
Expect.isFalse(test3 is F2);
Expect.isFalse(test4 is F1);
Expect.isFalse(test5 is F1);
Expect.isFalse(test6 is F1);
Expect.isFalse(test4 is F1?);
Expect.isFalse(test5 is F1?);
Expect.isFalse(test6 is F1?);
Expect.isFalse(test4 is F2);
Expect.isFalse(test5 is F2);
Expect.isTrue(test6 is F2);
Expect.isFalse(test4 is F2?);
Expect.isFalse(test5 is F2?);
Expect.isTrue(test6 is F2?);
Expect.isTrue(test4 is F2<int, B, A1>);
Expect.isTrue(test4 is F2<int?, B?, A1?>);
Expect.isTrue(test4 is F2<int, B<Object?>, A1>);
Expect.isTrue(test4 is F2<int, B<Object>, A1>);
Expect.isTrue(test3 is F3<A1?>);
Expect.isTrue(test7 is F4<int?>);
Expect.isFalse(test7 is F4<String?>);
Expect.isTrue(test7 is F4<int>);
Expect.isFalse(test7 is F4<String>);
}