blob: 83773b81f9b70c60dfe1e1186856f5a7e7f29e64 [file] [log] [blame]
// Copyright (c) 2020, 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 Calling a method (including an operator) or getter on a receiver
/// of static type Never is treated by static analysis as producing a result of
/// type Never.
///
/// @description Checks that calling a method (including an operator) or getter
/// on a receiver of static type Never is treated by static analysis as producing
/// a result of type Never
/// @issue 41273
/// @author sgrekhov@unipro.ru
// Requirements=nnbd-strong
void test(var x) {
if (x is Never) {
Never n1 = x.toString();
Never n2 = x.runtimeType;
Never n3 = x.someGetter;
Never n4 = x.someMethod();
Never n5 = x + x;
}
}
main() {
test(null);
}