[Mono-bugs] [Bug 60086][Nor] New - MethodAttributes differences (and weirdness)
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Sat, 12 Jun 2004 04:53:09 -0400 (EDT)
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by gert.driesen@pandora.be.
http://bugzilla.ximian.com/show_bug.cgi?id=60086
--- shadow/60086 2004-06-12 04:53:09.000000000 -0400
+++ shadow/60086.tmp.19327 2004-06-12 04:53:09.000000000 -0400
@@ -0,0 +1,55 @@
+Bug#: 60086
+Product: Mono: Runtime
+Version: unspecified
+OS:
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Normal
+Component: misc
+AssignedTo: mono-bugs@ximian.com
+ReportedBy: gert.driesen@pandora.be
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: MethodAttributes differences (and weirdness)
+
+Apparently there's a difference between Mono and MS.NET with regards to
+MethodAttributes.
+
+For example, when you retrieve the MethodAttributes of all public methods
+on MulticastDelegate, you get the following results on MS.NET :
+
+Type: System.MulticastDelegate
+GetObjectData: PrivateScope, Public, Virtual, HideBySig
+GetInvocationList: PrivateScope, Public, Final, Virtual, HideBySig
+GetHashCode: PrivateScope, Public, Final, Virtual, HideBySig
+Equals: PrivateScope, Public, Final, Virtual, HideBySig
+op_Equality: PrivateScope, Public, Static, HideBySig, SpecialName
+op_Inequality: PrivateScope, Public, Static, HideBySig, SpecialName
+
+While on Mono you get :
+
+Type: System.MulticastDelegate
+GetObjectData: ReuseSlot, Public, Virtual, HideBySig
+Equals: ReuseSlot, Public, Virtual, HideBySig
+GetHashCode: ReuseSlot, Public, Virtual, HideBySig
+GetInvocationList: ReuseSlot, Public, Virtual, HideBySig
+op_Equality: ReuseSlot, Public, Static, HideBySig, SpecialName
+op_Inequality: ReuseSlot, Public, Static, HideBySig, SpecialName
+
+I attached a small test app.
+
+Another weirdness is that if you build that same test application using
+mcs, and run it on Mono, you no longer get the enum field names, but
+instead the enum value is output :
+
+Type: System.MulticastDelegate
+GetObjectData: 198
+GetInvocationList: 230
+GetHashCode: 230
+Equals: 230
+op_Equality: 2198
+op_Inequality: 2198