blob: f32fd42245c4fdf3a26c292e35c46fc14d6d32ce [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "constant_null_is_lib.dart" as con;
import "dart:async";
import "org-dartlang-testcase:///constant_null_is_lib.dart";
class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/ {
final field core::bool field;
const constructor constructor1(dynamic value) self::Class<self::Class::T%>
: self::Class::field = value is{ForNonNullableByDefault} self::Class::T%, super core::Object::•()
;
const constructor constructor2(dynamic value) self::Class<self::Class::T%>
: self::Class::field = value is{ForNonNullableByDefault} self::Class::T?, super core::Object::•()
;
const constructor constructor3(dynamic value) self::Class<self::Class::T%>
: self::Class::field = value is{ForNonNullableByDefault} self::Class<self::Class::T%>, super core::Object::•()
;
const constructor constructor4(dynamic value) self::Class<self::Class::T%>
: self::Class::field = value is{ForNonNullableByDefault} self::Class<self::Class::T%>?, super core::Object::•()
;
}
static final field core::bool isWeakMode = (#C1) is{ForNonNullableByDefault} core::List<core::Object>;
static const field core::bool c0 = #C2;
static const field core::bool c1 = #C3;
static const field core::bool c2 = #C2;
static const field core::bool c3 = #C2;
static const field core::bool c4 = #C3;
static const field core::bool c5 = #C2;
static const field core::bool c6 = #C3;
static const field core::bool c7 = #C2;
static const field core::bool c8 = #C2;
static const field core::bool c9 = #C2;
static const field core::bool c10 = #C3;
static const field core::bool c11 = #C2;
static const field core::bool c12 = #C2;
static const field self::Class<core::int> e1 = #C4;
static const field self::Class<core::List<core::int>> e2 = #C5;
static const field self::Class<Null> e3 = #C6;
static const field self::Class<core::int> e4 = #C7;
static const field self::Class<core::int?> e5 = #C8;
static const field self::Class<Null> e6 = #C6;
static const field self::Class<core::int> e7 = #C4;
static const field self::Class<core::int?> e8 = #C9;
static const field self::Class<Null> e9 = #C10;
static const field self::Class<core::int> e10 = #C7;
static const field self::Class<core::int?> e11 = #C8;
static const field self::Class<Null> e12 = #C6;
static method main() dynamic {
self::expect(null is{ForNonNullableByDefault} core::int?, #C2, "null is int?");
self::expect(null is{ForNonNullableByDefault} core::int, #C3, "null is int");
self::expect(null is{ForNonNullableByDefault} Null, #C2, "null is Null");
self::expect(null is{ForNonNullableByDefault} Never?, #C2, "null is Never?");
self::expect(null is{ForNonNullableByDefault} Never, #C3, "null is Never");
self::expect(null is{ForNonNullableByDefault} FutureOr<core::int?>, #C2, "null is FutureOr<int?>");
self::expect(null is{ForNonNullableByDefault} FutureOr<core::int>, #C3, "null is FutureOr<int>");
self::expect(null is{ForNonNullableByDefault} FutureOr<core::int>?, #C2, "null is FutureOr<int>?");
self::expect(null is{ForNonNullableByDefault} FutureOr<Null>, #C2, "null is FutureOr<Null>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Null>?, #C2, "null is FutureOr<Null>?");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>, #C3, "null is FutureOr<Never>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never?>, #C2, "null is FutureOr<Never?>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>?, #C2, "null is FutureOr<Never>?");
self::expect(new self::Class::constructor1<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor1(null).field");
self::expect(true, new self::Class::constructor1<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor1(null).field");
self::expect(self::isWeakMode, (#C5).{self::Class::field}{core::bool}, "const Class<List<int>>.constructor1(<Null>[null]).field");
self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor1(null).field");
self::expect(new self::Class::constructor2<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor2(null).field");
self::expect(true, new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor2(null).field");
self::expect(new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor2(null).field");
self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor2(null).field");
self::expect(new self::Class::constructor3<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor3(null).field");
self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}{core::bool}, (#C10).{self::Class::field}{core::bool}, "Class<Null>.constructor3(null).field");
self::expect(new self::Class::constructor4<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor4(null).field");
self::expect(new self::Class::constructor4<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor4(null).field");
self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor4(null).field");
con::test();
}
static method expect(dynamic expected, dynamic actual, core::String message) dynamic {
if(!(expected =={core::Object::==}{(core::Object) core::bool} actual))
throw "Expected ${expected}, actual ${actual} for ${message}";
}
library;
import self as con;
import "constant_null_is.dart" as self;
import "dart:core" as core;
import "dart:async";
import "org-dartlang-testcase:///constant_null_is.dart";
static const field core::bool* d0 = #C3;
static const field core::bool* d1 = #C2;
static const field self::Class<core::int*>* d4 = #C4;
static const field self::Class<Null>* d5 = #C6;
static const field self::Class<core::int*>* d6 = #C7;
static const field self::Class<Null>* d7 = #C6;
static const field self::Class<core::int*>* d8 = #C4;
static const field self::Class<Null>* d9 = #C10;
static const field self::Class<core::int*>* d10 = #C7;
static const field self::Class<Null>* d11 = #C6;
static method test() dynamic {
self::expect(null is core::int*, #C3, "null is int (opt-out)");
self::expect(null is Null, #C2, "null is Null");
self::expect(new self::Class::constructor1<core::int*>(null).{self::Class::field}{core::bool*}, (#C4).{self::Class::field}{core::bool*}, "Class<int>.constructor1(null).field (opt-out)");
self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}{core::bool*}, (#C6).{self::Class::field}{core::bool*}, "Class<Null>.constructor1(null).field (opt-out)");
self::expect(new self::Class::constructor2<core::int*>(null).{self::Class::field}{core::bool*}, (#C7).{self::Class::field}{core::bool*}, "Class<int>.constructor2(null).field (opt-out)");
self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}{core::bool*}, (#C6).{self::Class::field}{core::bool*}, "Class<Null>.constructor2(null).field (opt-out)");
self::expect(new self::Class::constructor3<core::int*>(null).{self::Class::field}{core::bool*}, (#C4).{self::Class::field}{core::bool*}, "Class<int>.constructor3(null).field (opt-out)");
self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}{core::bool*}, (#C10).{self::Class::field}{core::bool*}, "Class<Null>.constructor3(null).field (opt-out)");
self::expect(new self::Class::constructor4<core::int*>(null).{self::Class::field}{core::bool*}, (#C7).{self::Class::field}{core::bool*}, "Class<int>.constructor4(null).field (opt-out)");
self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}{core::bool*}, (#C6).{self::Class::field}{core::bool*}, "Class<Null>.constructor4(null).field (opt-out)");
}
constants {
#C1 = <Null>[]
#C2 = true
#C3 = false
#C4 = self::Class<core::int*> {field:#C3}
#C5 = self::Class<core::List<core::int*>*> {field:#C2}
#C6 = self::Class<Null> {field:#C2}
#C7 = self::Class<core::int*> {field:#C2}
#C8 = self::Class<core::int?> {field:#C2}
#C9 = self::Class<core::int?> {field:#C3}
#C10 = self::Class<Null> {field:#C3}
}
Constructor coverage from constants:
org-dartlang-testcase:///constant_null_is.dart:
- Class.constructor1 (from org-dartlang-testcase:///constant_null_is.dart:39:9)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
- Class.constructor2 (from org-dartlang-testcase:///constant_null_is.dart:40:9)
- Class.constructor3 (from org-dartlang-testcase:///constant_null_is.dart:41:9)
- Class.constructor4 (from org-dartlang-testcase:///constant_null_is.dart:42:9)
org-dartlang-testcase:///constant_null_is_lib.dart:
- Class.constructor1 (from org-dartlang-testcase:///constant_null_is.dart:39:9)
- Class.constructor2 (from org-dartlang-testcase:///constant_null_is.dart:40:9)
- Class.constructor3 (from org-dartlang-testcase:///constant_null_is.dart:41:9)
- Class.constructor4 (from org-dartlang-testcase:///constant_null_is.dart:42:9)