- // Now emit attributes for each interface member
- if (defined_method != null) {
- foreach (InterfaceMethod im in defined_method) {
- EmitContext ec = new EmitContext (tc, this, Location, null,
- im.ReturnType.Type, ModFlags, false);
-
- MethodCore.LabelParameters (ec, im.Builder,
- im.Parameters,
- im.OptAttributes,
- Location);
-
- if (im.OptAttributes != null)
- Attribute.ApplyAttributes (ec, im.Builder,
- im, im.OptAttributes);
-
- }
- }
-
- if (defined_properties != null) {
- foreach (InterfaceProperty ip in defined_properties) {
- EmitContext ec = new EmitContext (tc, this, Location, null,
- null, ModFlags, false);
-
- if (ip.OptAttributes != null)
- Attribute.ApplyAttributes (ec, ip.Builder, ip, ip.OptAttributes);
-
- if (ip.GetAttributes != null)
- Attribute.ApplyAttributes (ec, ip.GetBuilder, ip, ip.GetAttributes);
-
- if (ip.SetAttributes != null)
- Attribute.ApplyAttributes (ec, ip.SetBuilder, ip, ip.SetAttributes);
- }
- }
-
- if (defined_events != null) {
- foreach (InterfaceEvent ie in defined_events) {
- EmitContext ec = new EmitContext (tc, this, Location, null,
- null, ModFlags, false);
-
- if (ie.OptAttributes != null)
- Attribute.ApplyAttributes (ec, ie.Builder, ie, ie.OptAttributes);
- }
- }
-
- if (defined_indexer != null) {
- foreach (InterfaceIndexer ii in defined_indexer) {
- EmitContext ec = new EmitContext (tc, this, Location, null,
- null, ModFlags, false);