[Mono-bugs] [Bug 76637][Nor] Changed - needs special support for [ComImport] attribute (blocks IronPython 0.9.4 from compiling)

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Mon Nov 7 07:14:15 EST 2005


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 vargaz at gmail.com.

http://bugzilla.ximian.com/show_bug.cgi?id=76637

--- shadow/76637	2005-11-06 03:41:43.000000000 -0500
+++ shadow/76637.tmp.19148	2005-11-07 07:14:15.000000000 -0500
@@ -1,23 +1,23 @@
 Bug#: 76637
-Product: Mono: Class Libraries
+Product: Mono: Compilers
 Version: unspecified
 OS: other
 OS Details: 
 Status: NEW   
 Resolution: 
-Severity: 
-Priority: Wishlist
-Component: System
+Severity: Unknown
+Priority: Normal
+Component: C#
 AssignedTo: mono-bugs at ximian.com                            
 ReportedBy: hys545 at dreamwiz.com               
 QAContact: mono-bugs at ximian.com
 TargetMilestone: ---
 URL: 
 Cc: 
-Summary: mono(svn- 52612)don't compile ironpython-0.9.4
+Summary: needs special support for [ComImport] attribute (blocks IronPython 0.9.4 from compiling)
 
 Please fill in this template when reporting a bug, unless you know what 
 you are doing.
 Description of Problem:
 hys545 at localhost IronPython-0.9.4]$ make
 gmcs -t:library -r:bin/IronMath.dll -out:bin/IronPython.dll -recurse:
@@ -50,6 +50,41 @@
 
 
 How often does this happen? 
 
 
 Additional Information:
+
+------- Additional Comments From vargaz at gmail.com  2005-11-07 07:14 -------
+Most of these are now fixed, the last remaining problem is an mcs
+bug/missing feature:
+
+Given this code:
+
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+using System;
+using System.Runtime.InteropServices;
+
+    [ComImport, GuidAttribute("E5CB7A31-7512-11D2-89CE-0080C792E5D8")]
+    public class CorMetaDataDispenserExClass { }
+
+    [ComImport, GuidAttribute("31BCFCE2-DAFB-11D2-9F81-00C04F79A0A3"),
+CoClass(typeof(CorMetaDataDispenserExClass))]
+    public interface MetaDataDispenserEx { }
+
+public class Test {
+	
+	public static void Main () {
+		Object o = new MetaDataDispenserEx ();
+	}
+}
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+
+csc accepts the 'new' statement, even through it names an interface,
+if the interface is decorated with [ComImport]. It generates code
+like this:
+
+ IL_0000:  nop
+  IL_0001:  newobj     instance void CorMetaDataDispenserExClass::.ctor()
+  IL_0006:  castclass  MetaDataDispenserEx
+  IL_000b:  stloc.0
+  IL_000c:  ret


More information about the mono-bugs mailing list