blob: bd5dcc79a12d8d537d0fe02bacb338c7c595e2f3 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd/non_nullable_field_initialization.dart:7:5: Error: Field 'topLevelField' should be initialized because its type 'int' doesn't allow null.
// int topLevelField; // Error.
// ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/non_nullable_field_initialization.dart:10:14: Error: Field 'staticFieldOfA' should be initialized because its type 'int' doesn't allow null.
// static int staticFieldOfA; // Error.
// ^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/non_nullable_field_initialization.dart:24:14: Error: Field 'staticFieldOfM' should be initialized because its type 'int' doesn't allow null.
// static int staticFieldOfM; // Error.
// ^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/non_nullable_field_initialization.dart:11:7: Error: This constructor should initialize field 'fieldOfA' because its type 'int' doesn't allow null.
// int fieldOfA; // Error.
// ^^^^^^^^
//
// pkg/front_end/testcases/nnbd/non_nullable_field_initialization.dart:17:5: Error: This constructor should initialize field 'fieldOfB' because its type 'X' doesn't allow null.
// X fieldOfB; // Error.
// ^^^^^^^^
//
// pkg/front_end/testcases/nnbd/non_nullable_field_initialization.dart:18:5: Error: This constructor should initialize field 'fieldOfB2' because its type 'Y' doesn't allow null.
// Y fieldOfB2; // Error.
// ^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/non_nullable_field_initialization.dart:25:7: Error: Field 'fieldOfM' should be initialized because its type 'int' doesn't allow null.
// int fieldOfM; // Error.
// ^^^^^^^^
//
// pkg/front_end/testcases/nnbd/non_nullable_field_initialization.dart:29:5: Error: Field 'fieldOfN' should be initialized because its type 'X' doesn't allow null.
// X fieldOfN; // Error.
// ^^^^^^^^
//
// pkg/front_end/testcases/nnbd/non_nullable_field_initialization.dart:30:5: Error: Field 'fieldOfN2' should be initialized because its type 'Y' doesn't allow null.
// Y fieldOfN2; // Error.
// ^^^^^^^^^
//
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
synthetic constructor •() self::Foo
: super core::Object::•()
;
}
class A extends core::Object {
static field core::int staticFieldOfA = null;
field core::int fieldOfA;
constructor foo() self::A
: self::A::fieldOfA = null, super core::Object::•()
;
constructor bar(core::int fieldOfA) self::A
: self::A::fieldOfA = fieldOfA, super core::Object::•()
;
}
class B<X extends core::Object? = core::Object?, Y extends core::Object = core::Object> extends core::Object {
generic-covariant-impl field self::B::X% fieldOfB;
generic-covariant-impl field self::B::Y fieldOfB2;
constructor foo() self::B<self::B::X%, self::B::Y>
: self::B::fieldOfB2 = null, self::B::fieldOfB = null, super core::Object::•()
;
constructor bar(self::B::X% fieldOfB, self::B::Y fieldOfB2) self::B<self::B::X%, self::B::Y>
: self::B::fieldOfB = fieldOfB, self::B::fieldOfB2 = fieldOfB2, super core::Object::•()
;
}
abstract class M extends core::Object /*isMixinDeclaration*/ {
static field core::int staticFieldOfM = null;
field core::int fieldOfM = null;
}
abstract class N<X extends core::Object? = core::Object?, Y extends core::Object = core::Object> extends core::Object /*isMixinDeclaration*/ {
generic-covariant-impl field self::N::X% fieldOfN = null;
generic-covariant-impl field self::N::Y fieldOfN2 = null;
}
class C<X extends core::Object? = core::Object?, Y extends core::Object = core::Object> extends core::Object {
static field core::int? staticFieldOfX = null;
static field core::int staticFieldOfXInitialized = 42;
generic-covariant-impl field self::C::X? fieldOfX = null;
field core::int? fieldOfX2 = null;
field dynamic fieldOfX3 = null;
field core::Null? fieldOfX4 = null;
field () →? core::int fieldOfX5 = null;
generic-covariant-impl field self::C::Y? fieldOfX6 = null;
late static field core::int lateStaticFieldOfC;
late field core::int fieldOfC7;
late generic-covariant-impl field self::C::X% fieldOfC8;
late generic-covariant-impl field self::C::Y fieldOfC9;
field core::int fieldOfC10;
constructor foo(core::int fieldOfC10) self::C<self::C::X%, self::C::Y>
: self::C::fieldOfC10 = fieldOfC10, super core::Object::•()
;
constructor bar(core::int fieldOfC10) self::C<self::C::X%, self::C::Y>
: self::C::fieldOfC10 = fieldOfC10, super core::Object::•()
;
}
abstract class L<X extends core::Object? = core::Object?, Y extends core::Object = core::Object> extends core::Object /*isMixinDeclaration*/ {
static field core::int? staticFieldOfL = null;
static field core::int staticFieldOfLInitialized = 42;
generic-covariant-impl field self::L::X? fieldOfL = null;
field core::int? fieldOfL2 = null;
field dynamic fieldOfL3 = null;
field core::Null? fieldOfL4 = null;
field () →? core::int fieldOfL5 = null;
generic-covariant-impl field self::L::Y? fieldOfL6 = null;
late static field core::int lateStaticFieldOfM;
late field core::int fieldOfM7;
late generic-covariant-impl field self::L::X% fieldOfM8;
late generic-covariant-impl field self::L::Y fieldOfM9;
}
extension P on self::Foo {
static field staticFieldOfE = self::P|staticFieldOfE;
}
extension Q on self::Foo {
static field staticFieldOfQ = self::Q|staticFieldOfQ;
static field lateStaticFieldOfQ = self::Q|lateStaticFieldOfQ;
static field staticFieldOfQInitialized = self::Q|staticFieldOfQInitialized;
}
static field core::int topLevelField;
static field core::int P|staticFieldOfE;
static field core::int? nullableTopLevelField;
late static field core::int lateTopLevelField;
static field core::int topLevelFieldWithInitializer = 42;
static field core::int? Q|staticFieldOfQ;
late static field core::int Q|lateStaticFieldOfQ;
static field core::int Q|staticFieldOfQInitialized = 42;
static method main() dynamic {}