public override void OnStructDefinition(StructDefinition node)
{
ClassDefinition cd = new ClassDefinition(node.LexicalInfo);
cd.Name = node.Name;
cd.Attributes = node.Attributes;
cd.Modifiers = node.Modifiers;
cd.Members = node.Members;
cd.GenericParameters = node.GenericParameters;
cd.BaseTypes = node.BaseTypes;
cd.BaseTypes.Insert(0, CodeBuilder.CreateTypeReference(TypeSystemServices.ValueTypeType));
foreach (TypeMember member in cd.Members)
{
if (!member.IsVisibilitySet)
{
member.Modifiers |= TypeMemberModifiers.Public;
}
}
OnClassDefinition(cd);
ReplaceCurrentNode(cd);
}