[svn] r7116: nemerle/trunk/ncc/generation/ILEmitter.n

nazgul svnadmin at nemerle.org
Mon Dec 18 18:09:54 CET 2006


Log:
Remove mono bug workaround

Author: nazgul
Date: Mon Dec 18 18:09:53 2006
New Revision: 7116

Modified:
   nemerle/trunk/ncc/generation/ILEmitter.n

Modified: nemerle/trunk/ncc/generation/ILEmitter.n
==============================================================================
--- nemerle/trunk/ncc/generation/ILEmitter.n	(original)
+++ nemerle/trunk/ncc/generation/ILEmitter.n	Mon Dec 18 18:09:53 2006
@@ -67,29 +67,6 @@
     static MS_NET_RuntimeType : System.Type 
       = typeof (object).Assembly.GetType ("System.RuntimeType");
 
-    // mono #76484
-    static workaround_mono_bug (type_ : Nemerle.Compiler.TypeBuilder) : void
-    {
-      when (MS_NET_RuntimeType != null) Nemerle.Imperative.Return (); // skip if on MS.NET
-      
-      def type_of_this = type_.GetMemType ().SystemType;
-
-      def is_proper_method (_) {
-        | m is IMethod =>
-          m.DeclaringType.Equals (type_) && ! m.IsStatic && m.Name != ".ctor"
-        | _ => false
-      }
-
-      when (type_of_this.ContainsGenericParameters)
-        match (type_.GetMembers ().Find (is_proper_method)) {
-          | Some (m) =>
-            //Message.Debug ($ "tot=$type_of_this m=$m");
-            _ = TypeBuilder.GetMethod (type_of_this, 
-                                       m.GetHandle () :> Emit.MethodBuilder);
-          | None => {}
-        }
-    }
-
     /**
      * Creates and executes a code generator for a method
      */
@@ -107,8 +84,6 @@
       _method_is_static = method_builder.IsStatic;
       _this_is_value_type = type_.IsValueType;
       _type_of_this = type_.GetMemType ().SystemType;
-
-      workaround_mono_bug (type_);
     }
 
 
@@ -130,8 +105,6 @@
       _method_is_static = constructor_builder.IsStatic;
       _this_is_value_type = type_.IsValueType;
       _type_of_this = type_.GetMemType ().SystemType;
-
-      workaround_mono_bug (type_);
     }
 
     public Run () : void
@@ -139,7 +112,6 @@
       _method_start_label = _ilg.DefineLabel ();
       _ilg.MarkLabel (_method_start_label);
 
-      Mark (_fun_header.Location);
       match (_fun_header.body) {
         | FunBody.Typed (body) =>
           emit (body);



More information about the svn mailing list