public override void VisitSharedAttr(SharedAttrDefinition attr)
{
ilGenerator = attr.Reader.GetILGenerator();
ilGenerator.Emit(OpCodes.Ldsfld, attr.FieldBuilder);
ilGenerator.Emit(OpCodes.Ret);
ilGenerator = attr.Writer.GetILGenerator();
ilGenerator.Emit(OpCodes.Ldarg_1);
ilGenerator.Emit(OpCodes.Stsfld, attr.FieldBuilder);
ilGenerator.Emit(OpCodes.Ret);
ilGenerator = currentClass.StaticConstructorIL;
inSharedContext = true;
attr.Value.Accept(this);
ilGenerator.Emit(OpCodes.Stsfld, attr.FieldBuilder);
inSharedContext = false;
}