// 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. class Foo {} int topLevelField; // Error. class A { static int staticFieldOfA; // Error. int fieldOfA; // Error. A.foo(); A.bar(this.fieldOfA); } class B { X fieldOfB; // Error. Y fieldOfB2; // Error. B.foo(); B.bar(this.fieldOfB, this.fieldOfB2); } mixin M { static int staticFieldOfM; // Error. int fieldOfM; // Error. } mixin N { X fieldOfN; // Error. Y fieldOfN2; // Error. } extension P on Foo { static int staticFieldOfE; // Error. } int? nullableTopLevelField; // Not an error. late int lateTopLevelField; // Not an error. int topLevelFieldWithInitializer = 42; // Not an error. class C { static int? staticFieldOfX; // Not an error. static int staticFieldOfXInitialized = 42; // Not an error. X? fieldOfX; // Not an error. int? fieldOfX2; // Not an error. dynamic fieldOfX3; // Not an error. Null fieldOfX4; // Not an error. int Function()? fieldOfX5; // Not an error. Y? fieldOfX6; // Not an error. static late int lateStaticFieldOfC; // Not an error. late int fieldOfC7; // Not an error. late X fieldOfC8; // Not an error. late Y fieldOfC9; // Not an error. int fieldOfC10; // Not an error. C.foo(this.fieldOfC10); C.bar(this.fieldOfC10); } mixin L { static int? staticFieldOfL; // Not an error. static int staticFieldOfLInitialized = 42; // Not an error X? fieldOfL; // Not an error. int? fieldOfL2; // Not an error. dynamic fieldOfL3; // Not an error. Null fieldOfL4; // Not an error. int Function()? fieldOfL5; // Not an error. Y? fieldOfL6; // Not an error. static late int lateStaticFieldOfM; // Not an error. late int fieldOfM7; // Not an error. late X fieldOfM8; // Not an error. late Y fieldOfM9; // Not an error. } extension Q on Foo { static int? staticFieldOfQ; // Not an error. static late int lateStaticFieldOfQ; // Not an error. static int staticFieldOfQInitialized = 42; // Not an error. } main() {}