constructorInitializers property
String
constructorInitializers
Implementation
String get constructorInitializers {
if (this.fields.isEmpty) {
return '';
}
final preds = <String>[];
for (var i = 0; i < this.fields.length; i++) {
final innerPreds = <String>[];
for (var j = 0; j < this.fields.length; j++) {
final inner = this.fields[j].name;
if (i == j) {
innerPreds.add('$inner != null');
} else {
innerPreds.add('$inner == null');
}
}
preds.add('(' + innerPreds.join(' && ') + ')');
}
final assertExpr = 'assert(${preds.join(' || ')})';
final assigns = this.fields.map((field) => field.constructorAssignment).join(',\n');
return '$assertExpr, $assigns';
}