private void WriteFlags(CILWriter output)
{
uint vis = flags & VisibilityMask;
switch (vis) {
case 0 : output.Write("private "); break;
case 1 : output.Write("public "); break;
case 2 : output.Write("nested public "); break;
case 3 : output.Write("nested private "); break;
case 4 : output.Write("nested family "); break;
case 5 : output.Write("nested assembly "); break;
case 6 : output.Write("nested famandassem "); break;
case 7 : output.Write("nested famorassem "); break;
}
uint layout = flags & LayoutMask;
if (layout == 0) {
output.Write("auto ");
} else if (layout == (uint)TypeAttr.ExplicitLayout) {
output.Write("explicit ");
} else {
output.Write("sequential ");
}
if ((flags & (uint)TypeAttr.Interface) != 0) {
output.Write("interface ");
}
if ((flags & (uint)TypeAttr.Abstract) != 0) {
output.Write("abstract ");
} else if ((flags & (uint)TypeAttr.Sealed) != 0) {
output.Write("sealed ");
}
uint strForm = flags & StringFormatMask;
if (strForm == 0) {
output.Write("ansi ");
} else if (strForm == (uint)TypeAttr.UnicodeClass) {
output.Write("unicode ");
} else {
output.Write("autochar ");
}
if ((flags & (uint)TypeAttr.BeforeFieldInit) != 0) {
output.Write("beforefieldinit ");
}
if ((flags & (uint)TypeAttr.Serializable) != 0) {
output.Write("serializable ");
}
if ((flags & (uint)TypeAttr.SpecialName) != 0) {
output.Write("specialname ");
}
if ((flags & (uint)TypeAttr.RTSpecialName) != 0) {
output.Write("rtsspecialname ");
}
}