private void DetermineMethodRole(MethodDeclarationNode mdn)
{
if (mdn.ReturnType == null)
{
//Constructors and destructors don't have a return type.
//However, they should be processed by a different rule, and therefore shouldn't reach this point.
mdn.Role = MethodRole.Unknown;
}
else if (mdn.ReturnType.Name.ToLower() == "void")
{
if (mdn.ParsedName[0].Text.ToLower() == "set")
{
mdn.Role = MethodRole.Setter;
}
else
{
mdn.Role = MethodRole.Action;
}
}
else
{
if (mdn.ParsedName[0].Text.ToLower() == "get")
{
mdn.Role = MethodRole.Getter;
}
else
{
mdn.Role = MethodRole.Function;
}
}
}
}