blob: a34cf6706bfb7dd98cddbddbd6166dfe781e9081 [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.
import 'messages_with_types_opt_out.dart';
class SuperIn {
String? nullableSame() => "foo";
String nonNullableSame() => "bar";
int? nullableBad<T>(T t) => 1;
int nonNullableBad<T>(T t) => 2;
}
class SubInIn extends SuperIn {
String? nullableSame() => "foo";
String nonNullableSame() => "bar";
T? nullableBad<T>(T t) => null;
T nonNullableBad<T>(T t) => t;
}
class SubOutIn extends SuperOut {
String? nullableSame() => "foo";
String nonNullableSame() => "bar";
T? nullableBad<T>(T t) => null;
T nonNullableBad<T>(T t) => t;
}
int Function()? nullableVar = () => 3;
double nonNullableVar = 4.0;
testOptIn() {
nullableVar = nonNullableVar;
nonNullableVar = nullableVar;
legacyVar = nullableVar;
nullableVar = legacyVar;
nonNullableVar = legacyVar;
legacyVar = nonNullableVar;
}