protected void SynthesizeOverloadsWithOptionalParameters(PEModuleBuilder module, DiagnosticBag diagnostic)
{
var ps = this.Parameters;
for (int i = 0; i < ps.Length; i++)
{
var p = ps[i] as SourceParameterSymbol;
if (p != null && p.Initializer != null && p.ExplicitDefaultConstantValue == null) // => ConstantValue couldn't be resolved for optional parameter
{
// create ghost stub foo(p0, .. pi-1) => foo(p0, .. , pN)
CreateGhostOverload(module, diagnostic, i);
}
}
}