blob: 7fdd0276d6a34d08cf0a82857afa759c37d190f3 [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>);
}