[Mono-bugs] [Bug 33285][Nor] Changed - DataAdapter implementations

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
7 Nov 2002 00:42:32 -0000


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 miguel@ximian.com.

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

--- shadow/33285	Wed Nov  6 05:29:40 2002
+++ shadow/33285.tmp.26604	Wed Nov  6 19:42:32 2002
@@ -1,16 +1,16 @@
 Bug#: 33285
-Product: Mono/MCS
+Product: Mono/Runtime
 Version: unspecified
 OS: unknown
 OS Details: 
 Status: ASSIGNED   
 Resolution: 
 Severity: Unknown
 Priority: Normal
-Component: Misc
+Component: misc
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: carlosga@telefonica.net               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
 URL: 
 Cc: 
@@ -109,6 +109,67 @@
 		 *  Compilation failed: 1 error(s), 0 warnings
 		 */
 
 	}
 }
 
+
+------- Additional Comments From miguel@ximian.com  2002-11-06 19:42 -------
+Ok, I have fixed the bug in the compiler (this is in fact an
+interesting setup).  The problem is that the Mono Runtime is not
+currently able to generate the code for it, here is the output:
+
+no implementation for interface method
+TestCase.IDataAdapter::get_TableMappings() in class TestCase.XDataAdapter
+METHOD .ctor()
+
+** ERROR **: file class.c: line 687 (mono_class_setup_vtable): should
+not be reached
+aborting...
+Aborted
+
+Here is the updated sample which compiles and runs on .NET with CSC
+and MCS:
+
+using System;
+namespace TestCase
+{
+	public interface IDataAdapter
+	{
+		string TableMappings {get;}
+	}
+	public interface IDbDataAdapter : IDataAdapter
+	{		
+	}
+	public class DataAdapter : IDataAdapter
+	{
+		string IDataAdapter.TableMappings 
+		{
+			get{return "hello idataadapter.tablemappings";}
+		}
+		public string TableMappings 
+		{
+			get{return "hello Dataadapter.tablemappings";}
+		}
+	}	
+
+	public class DbDataAdapter : DataAdapter
+	{
+	}
+
+	public class XDataAdapter : DbDataAdapter, IDbDataAdapter
+	{
+	}
+
+class X {
+	static void Main ()
+	{
+		XDataAdapter d = new XDataAdapter ();
+		IDataAdapter i = d;
+
+		Console.WriteLine ("ID=" + i.TableMappings);
+		Console.WriteLine ("DA=" + d.TableMappings);
+	}
+}
+}
+
+I am re-assigning this to the Mono/Runtime now.