protected override bool DoDefineMembers ()
{
CheckProtectedModifier ();
if (PrimaryConstructorParameters != null) {
foreach (Parameter p in PrimaryConstructorParameters.FixedParameters) {
if (p.Name == MemberName.Name) {
Report.Error (8039, p.Location, "Primary constructor of type `{0}' has parameter of same name as containing type",
GetSignatureForError ());
}
if (CurrentTypeParameters != null) {
for (int i = 0; i < CurrentTypeParameters.Count; ++i) {
var tp = CurrentTypeParameters [i];
if (p.Name == tp.Name) {
Report.Error (8038, p.Location, "Primary constructor of type `{0}' has parameter of same name as type parameter `{1}'",
GetSignatureForError (), p.GetSignatureForError ());
}
}
}
}
}
base.DoDefineMembers ();
return true;
}