in lib/src/builder.dart [1141:1168]
Expression _dummyFunctionValue(analyzer.FunctionType type) {
return Method((b) {
// The positional parameters in a FunctionType have no names. This
// counter lets us create unique dummy names.
var counter = 0;
if (type.typeFormals != null) {
b.types.addAll(type.typeFormals.map(_typeParameterReference));
}
for (final parameter in type.parameters) {
if (parameter.isRequiredPositional) {
b.requiredParameters
.add(_matchingParameter(parameter, defaultName: '__p$counter'));
counter++;
} else if (parameter.isOptionalPositional) {
b.optionalParameters
.add(_matchingParameter(parameter, defaultName: '__p$counter'));
counter++;
} else if (parameter.isNamed) {
b.optionalParameters.add(_matchingParameter(parameter));
}
}
if (type.returnType.isVoid) {
b.body = Code('');
} else {
b.body = _dummyValue(type.returnType).code;
}
}).genericClosure;
}