internal MethodAttributes GetMethodAttributes()
{
MethodAttributes attribs = MethodAttributes.HideBySig;
if(IsStatic)
{
attribs |= MethodAttributes.Static;
}
if(IsPublic)
{
attribs |= MethodAttributes.Public;
}
else if(IsPrivate)
{
attribs |= MethodAttributes.Private;
}
else if(IsProtected)
{
attribs |= MethodAttributes.FamORAssem;
}
else
{
attribs |= MethodAttributes.Family;
}
// constructors aren't virtual
if(!IsStatic && !IsPrivate && Name != "<init>")
{
attribs |= MethodAttributes.Virtual;
}
if(IsFinal)
{
attribs |= MethodAttributes.Final;
}
if(IsAbstract)
{
attribs |= MethodAttributes.Abstract;
}
return attribs;
}