invokeWith method
Implementation
Expression invokeWith(
String className, Expression Function(Parameter p) toExpression) {
var posArgs = positionalParameters.map(toExpression);
var namedArgs =
namedParameters.map((p) => MapEntry(p.name, toExpression(p))).toMap();
return name != null
? refer(className).newInstanceNamed(name!, posArgs, namedArgs)
: refer(className).newInstance(posArgs, namedArgs);
}