public override void VisitClass(ClassDefinition cls)
{
currentClass = cls;
currentType = cls.TypeBuilder;
nestedTypes = new ArrayList();
cls.Children.Accept(this);
if (cls.StaticConstructor != null) {
cls.StaticConstructorIL.Emit(OpCodes.Ret);
}
currentType.CreateType();
foreach (SupertypingAdapter adapter in cls.Adapters) {
GenerateAdapter(adapter);
}
foreach (TypeBuilder nestedType in nestedTypes) {
nestedType.CreateType();
}
}