blob: 312baab0be573c0b7a04b2d8fbc73baa59dea55f [file] [log] [blame]
// Copyright (c) 2017, 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.
// @dart = 2.9
// Testing the static checks for type annotations on initializing formals.
class C {
num a;
C.sameType(num this.a);
C.subType(int this.a);
C.superType(dynamic this.a);
// ^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.FIELD_INITIALIZING_FORMAL_NOT_ASSIGNABLE
// ^
// [cfe] The type of parameter 'a', 'dynamic' is not a subtype of the corresponding field's type, 'num'.
C.unrelatedType(String this.a);
// ^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.FIELD_INITIALIZING_FORMAL_NOT_ASSIGNABLE
// ^
// [cfe] The type of parameter 'a', 'String' is not a subtype of the corresponding field's type, 'num'.
}
main() {
new C.sameType(3.14);
new C.subType(42);
new C.superType([]);
new C.unrelatedType('String');
}