blob: 58f6b9fd11a2734213a5db0d9749981010f0c6f9 [file] [log] [blame]
// 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 A<T> {
var field1 = 0;
var field2 = 0;
var field3 = 0;
var field4 = 0;
int? field5;
int? field6;
int? field7;
int? field8;
var field9;
T field10;
T field11;
T field12;
T field13;
T field14;
var field15 = 0;
int? field16;
var field17 = 0;
int? field18;
A(this.field10, this.field11, this.field12, this.field13, this.field14);
}
class B<T, S> {
var field1 = 1;
var field2 = '';
var field3 = 1;
var field4 = '';
int? field5;
String? field6;
int? field7;
String? field8;
var field9;
T field10;
S field11;
T field12;
T field13;
S field14;
int? field15;
var field16 = 0;
String? field17;
var field18 = '';
B(this.field10, this.field11, this.field12, this.field13, this.field14);
}
class C implements A<int>, B<int, String> {
var field1;
var field2; // error
var field3 = 0;
var field4 = 0; // error
var field5;
var field6; // error
var field7 = 0;
var field8 = 0; // error
var field9;
var field10;
var field11; // error
int? field12;
var field13 = 0;
int? field14; // error
var field15;
var field16;
var field17; // error
var field18; // error
C(
this.field1,
this.field2,
this.field3,
this.field4,
this.field5,
this.field6,
this.field7,
this.field8,
this.field9,
this.field10,
this.field11,
this.field12,
this.field13,
this.field14,
this.field15,
this.field16,
this.field17,
this.field18);
}
class D<T> implements A<T>, B<T, T> {
var field1;
var field2; // error
var field3 = 0;
var field4 = 0; // error
var field5;
var field6; // error
var field7 = 0;
var field8 = 0; // error
var field9;
var field10;
var field11;
T field12;
var field13 = null; // error
T field14;
var field15;
var field16;
var field17; // error
var field18; // error
D(
this.field1,
this.field2,
this.field3,
this.field4,
this.field5,
this.field6,
this.field7,
this.field8,
this.field9,
this.field10,
this.field11,
this.field12,
this.field13,
this.field14,
this.field15,
this.field16,
this.field17,
this.field18);
}