Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mcs/ilasm
diff options
context:
space:
mode:
authorPaolo Molaro <lupus@oddwiz.org>2006-12-12 21:20:42 +0300
committerPaolo Molaro <lupus@oddwiz.org>2006-12-12 21:20:42 +0300
commitd0bab196c35defc36b314119411ca7bbf7801974 (patch)
tree299a1623b449511eb8c5102c431d8d1ed0e5526b /mcs/ilasm
parent7e425865267e2cabe1a44db74379909479e75fd0 (diff)
Tue Dec 12 19:19:04 CET 2006 Paolo Molaro <lupus@ximian.com>
* EventDef.cs: support more than one .other method in events. svn path=/trunk/mcs/; revision=69422
Diffstat (limited to 'mcs/ilasm')
-rw-r--r--mcs/ilasm/codegen/ChangeLog5
-rw-r--r--mcs/ilasm/codegen/EventDef.cs14
2 files changed, 14 insertions, 5 deletions
diff --git a/mcs/ilasm/codegen/ChangeLog b/mcs/ilasm/codegen/ChangeLog
index e85763a4ab3..048659380ab 100644
--- a/mcs/ilasm/codegen/ChangeLog
+++ b/mcs/ilasm/codegen/ChangeLog
@@ -1,3 +1,8 @@
+
+Tue Dec 12 19:19:04 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+ * EventDef.cs: support more than one .other method in events.
+
2006-11-09 Ankit Jain <jankit@novell.com>
* CodeGen.cs (CodeGen.BeginAssemblyRef): Add param for attributes.
diff --git a/mcs/ilasm/codegen/EventDef.cs b/mcs/ilasm/codegen/EventDef.cs
index 28f8dc4c4a2..66ba98614b9 100644
--- a/mcs/ilasm/codegen/EventDef.cs
+++ b/mcs/ilasm/codegen/EventDef.cs
@@ -24,7 +24,7 @@ namespace Mono.ILASM {
private MethodRef addon;
private MethodRef fire;
- private MethodRef other;
+ private ArrayList other_list;
private MethodRef removeon;
public EventDef (FeatureAttr attr, BaseTypeRef type, string name)
@@ -89,9 +89,11 @@ namespace Mono.ILASM {
event_def.AddFire (AsMethodDef (fire.PeapiMethod, "fire"));
}
- if (other != null) {
- other.Resolve (code_gen);
- event_def.AddOther (AsMethodDef (other.PeapiMethod, "other"));
+ if (other_list != null) {
+ foreach (MethodRef otherm in other_list) {
+ otherm.Resolve (code_gen);
+ event_def.AddOther (AsMethodDef (otherm.PeapiMethod, "other"));
+ }
}
if (removeon != null) {
@@ -112,7 +114,9 @@ namespace Mono.ILASM {
public void AddOther (MethodRef method_ref)
{
- other = method_ref;
+ if (other_list == null)
+ other_list = new ArrayList ();
+ other_list.Add (method_ref);
}
public void AddRemoveon (MethodRef method_ref)