[svn] r6860: nemerle/trunk/ncc/external: Codec.n LibrariesLoader.n

nazgul svnadmin at nemerle.org
Fri Nov 10 00:05:54 CET 2006


Log:
Get generic type definition when creating NetType

Author: nazgul
Date: Fri Nov 10 00:05:39 2006
New Revision: 6860

Modified:
   nemerle/trunk/ncc/external/Codec.n
   nemerle/trunk/ncc/external/LibrariesLoader.n

Modified: nemerle/trunk/ncc/external/Codec.n
==============================================================================
--- nemerle/trunk/ncc/external/Codec.n	(original)
+++ nemerle/trunk/ncc/external/Codec.n	Fri Nov 10 00:05:39 2006
@@ -128,7 +128,7 @@
     def vars = _t.GetGenericArguments ();
 
     foreach (gparm in vars) {
-      def tv = StaticTyVar (ManagerClass.Instance, gparm.Name, gparm);
+      def tv = StaticTyVar (_lib.Manager, gparm.Name, gparm);
       tyvars = tv :: tyvars;
       tenv = tenv.Replace (gparm.Name, tv)
     }
@@ -222,7 +222,7 @@
       def vars = meth.GetGenericArguments ();
 
       foreach (gparm in vars) {
-        def tv = StaticTyVar (ManagerClass.Instance, gparm.Name, gparm);
+        def tv = StaticTyVar (lib.Manager, gparm.Name, gparm);
         tyvars = tv :: tyvars;
         tenv = tenv.Replace (gparm.Name, tv)
       }

Modified: nemerle/trunk/ncc/external/LibrariesLoader.n
==============================================================================
--- nemerle/trunk/ncc/external/LibrariesLoader.n	(original)
+++ nemerle/trunk/ncc/external/LibrariesLoader.n	Fri Nov 10 00:05:39 2006
@@ -707,6 +707,8 @@
         LibraryReferenceManager.CacheTypeInfo (h, this, ns_node);
         library = lib;
         system_type = h;
+        when (system_type.IsGenericType && !system_type.IsGenericTypeDefinition)
+          system_type = system_type.GetGenericTypeDefinition ();
 
         when (system_type.DeclaringType != null)
           tenv = (lib.TypeInfoOfType (system_type.DeclaringType) :> NetType).tenv;



More information about the svn mailing list