[ddc] cleanup: use Never direclty in nnbd tests

Change-Id: I67aceaccb819ad6033bdb9c7d9870b05859c1064
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138900
Reviewed-by: Nicholas Shahan <nshahan@google.com>
This commit is contained in:
Sigmund Cherem 2020-03-10 19:13:33 +00:00
parent 9a0c09ecb2
commit 2c68152847
5 changed files with 23 additions and 26 deletions

View file

@ -410,7 +410,7 @@ class NeverType extends DartType {
}
@JSExportName('Never')
final never_ = NeverType();
final _never = NeverType();
@JSExportName('dynamic')
final _dynamic = DynamicType();
@ -432,7 +432,7 @@ class VoidType extends DartType {
@JSExportName('void')
final void_ = VoidType();
// TODO(nshahan): Cleanup and consolidate NeverType, BottomType, bottom, never_.
// TODO(nshahan): Cleanup and consolidate NeverType, BottomType, bottom, _never.
class BottomType extends DartType {
toString() => 'bottom';
}

View file

@ -38,29 +38,29 @@ void main() {
// Bottom is subtype of top.
// never <: dynamic
checkProperSubtype(neverType, dynamic);
checkProperSubtype(Never, dynamic);
// never <: void
checkProperSubtype(neverType, voidType);
checkProperSubtype(Never, voidType);
// never <: Object?
checkProperSubtype(neverType, nullable(Object));
checkProperSubtype(Never, nullable(Object));
// Object is between top and bottom.
// Object <: Object?
checkProperSubtype(Object, nullable(Object));
// never <: Object
checkProperSubtype(neverType, Object);
checkProperSubtype(Never, Object);
// Null is between top and bottom.
// Null <: Object?
checkProperSubtype(Null, nullable(Object));
// never <: Null
checkProperSubtype(neverType, Null);
checkProperSubtype(Never, Null);
// Class is between Object and bottom.
// A <: Object
checkProperSubtype(A, dynamic);
// never <: A
checkProperSubtype(neverType, A);
checkProperSubtype(Never, A);
// Nullable types are a union of T and Null.
// A <: A?
@ -83,7 +83,7 @@ void main() {
// Null <: Object*
checkSubtype(Null, legacy(Object));
// never <: Object*
checkSubtype(neverType, legacy(Object));
checkSubtype(Never, legacy(Object));
// A* <: A
checkSubtype(legacy(A), A);
// A <: A*
@ -99,7 +99,7 @@ void main() {
// Null <: A*
checkProperSubtype(Null, legacy(A));
// never <: A*
checkProperSubtype(neverType, legacy(A));
checkProperSubtype(Never, legacy(A));
// Futures.
// Null <: FutureOr<Object?>
@ -122,7 +122,7 @@ void main() {
checkProperSubtype(
generic1(Future, nullable(Object)), futureOrOf(nullable(Object)));
// FutureOr<Never> <: Future<Never>
checkSubtype(futureOrOf(neverType), generic1(Future, neverType));
checkSubtype(futureOrOf(Never), generic1(Future, Never));
// Future<B> <: FutureOr<A>
checkProperSubtype(generic1(Future, B), futureOrOf(A));
// B <: <: FutureOr<A>
@ -271,7 +271,7 @@ void main() {
// A? <\: A
checkSubtypeFailure(nullable(A), A);
// Null <\: never
checkSubtypeFailure(Null, neverType);
checkSubtypeFailure(Null, Never);
// Null <\: Object
checkSubtypeFailure(Null, Object);
// Null <\: A

View file

@ -24,7 +24,7 @@ void main() {
// Null? == Null
Expect.identical(nullable(Null), Null);
// Never? == Null
Expect.identical(nullable(dart.wrapType(dart.never_)), Null);
Expect.identical(nullable(Never), Null);
// dynamic? == dynamic
Expect.identical(nullable(dynamic), dynamic);
// void? == void

View file

@ -38,29 +38,29 @@ void main() {
// Bottom is subtype of top.
// never <: dynamic
checkProperSubtype(neverType, dynamic);
checkProperSubtype(Never, dynamic);
// never <: void
checkProperSubtype(neverType, voidType);
checkProperSubtype(Never, voidType);
// never <: Object?
checkProperSubtype(neverType, nullable(Object));
checkProperSubtype(Never, nullable(Object));
// Object is between top and bottom.
// Object <: Object?
checkSubtype(Object, nullable(Object));
// never <: Object
checkProperSubtype(neverType, Object);
checkProperSubtype(Never, Object);
// Null is between top and bottom.
// Null <: Object?
checkProperSubtype(Null, nullable(Object));
// never <: Null
checkSubtype(neverType, Null);
checkSubtype(Never, Null);
// Class is between Object and bottom.
// A <: Object
checkProperSubtype(A, dynamic);
// never <: A
checkProperSubtype(neverType, A);
checkProperSubtype(Never, A);
// Nullable types are a union of T and Null.
// A <: A?
@ -83,7 +83,7 @@ void main() {
// Null <: Object*
checkSubtype(Null, legacy(Object));
// never <: Object*
checkSubtype(neverType, legacy(Object));
checkSubtype(Never, legacy(Object));
// A* <: A
checkSubtype(legacy(A), A);
// A <: A*
@ -99,7 +99,7 @@ void main() {
// Null <: A*
checkProperSubtype(Null, legacy(A));
// never <: A*
checkProperSubtype(neverType, legacy(A));
checkProperSubtype(Never, legacy(A));
// Futures.
// Null <: FutureOr<Object?>
@ -122,7 +122,7 @@ void main() {
checkProperSubtype(
generic1(Future, nullable(Object)), futureOrOf(nullable(Object)));
// FutureOr<Never> <: Future<Never>
checkSubtype(futureOrOf(neverType), generic1(Future, neverType));
checkSubtype(futureOrOf(Never), generic1(Future, Never));
// Future<B> <: FutureOr<A>
checkProperSubtype(generic1(Future, B), futureOrOf(A));
// B <: <: FutureOr<A>
@ -271,7 +271,7 @@ void main() {
// A? <: A
checkSubtype(nullable(A), A);
// Null <: never
checkSubtype(Null, neverType);
checkSubtype(Null, Never);
// Null <: Object
checkProperSubtype(Null, Object);
// Null <: A

View file

@ -7,9 +7,6 @@ import 'dart:_runtime' as dart;
import 'package:expect/expect.dart';
/// The runtime representation of the never type.
final neverType = dart.wrapType(dart.never_);
/// Unwrap the user code type representation to expose the runtime
/// representation of [t].
///