[svn] r6328: nemerle/trunk/ncc: completion/CodeCompletionEngine.n external/InternalTypes.n external/Librar...

malekith svnadmin at nemerle.org
Wed May 24 11:15:34 CEST 2006


Log:
Rename SystemType to SystemTypeCache not to conflict with SystemType property.

Author: malekith
Date: Wed May 24 11:15:32 2006
New Revision: 6328

Modified:
   nemerle/trunk/ncc/completion/CodeCompletionEngine.n
   nemerle/trunk/ncc/external/InternalTypes.n
   nemerle/trunk/ncc/external/LibrariesLoader.n
   nemerle/trunk/ncc/generation/HierarchyEmitter.n
   nemerle/trunk/ncc/generation/ILEmitter.n
   nemerle/trunk/ncc/hierarchy/CustomAttribute.n
   nemerle/trunk/ncc/passes.n
   nemerle/trunk/ncc/typing/MType.n

Modified: nemerle/trunk/ncc/completion/CodeCompletionEngine.n
==============================================================================
--- nemerle/trunk/ncc/completion/CodeCompletionEngine.n	(original)
+++ nemerle/trunk/ncc/completion/CodeCompletionEngine.n	Wed May 24 11:15:32 2006
@@ -247,7 +247,7 @@
             this.LibrariesManager.AddLibrary ("mscorlib");
             this.LibrariesManager.AddLibrary ("System");
             this.LibrariesManager.AddLibrary ("Nemerle");
-            SystemType.Init ();                 
+            SystemTypeCache.Init ();                 
             InternalType.InitSystemTypes ();
             InternalType.InitNemerleTypes ();
             this.LibrariesManager.LoadMacrosFrom ("Nemerle.Macros");

Modified: nemerle/trunk/ncc/external/InternalTypes.n
==============================================================================
--- nemerle/trunk/ncc/external/InternalTypes.n	(original)
+++ nemerle/trunk/ncc/external/InternalTypes.n	Wed May 24 11:15:32 2006
@@ -36,7 +36,7 @@
 namespace Nemerle.Compiler {
 
 [ManagerAccess]
-public module SystemType 
+public module SystemTypeCache 
 {
   public mutable Array : System.Type;
   public mutable Boolean : System.Type;
@@ -189,7 +189,7 @@
     SByte = Reflect ("System.SByte");
     Single = Reflect ("System.Single");
     String = Reflect ("System.String");
-    SystemType.Type = Reflect ("System.Type");
+    SystemTypeCache.Type = Reflect ("System.Type");
     UInt16 = Reflect ("System.UInt16");
     UInt32 = Reflect ("System.UInt32");
     UInt64 = Reflect ("System.UInt64");
@@ -199,7 +199,7 @@
 
     {
       Decimal_ctors = Hashtable ();
-      def decimal_ctors = SystemType.Decimal.GetConstructors ();
+      def decimal_ctors = SystemTypeCache.Decimal.GetConstructors ();
 
       foreach (decimal_ctor : SR.ConstructorInfo in decimal_ctors) {
         def parameters = decimal_ctor.GetParameters ();
@@ -213,15 +213,15 @@
       assert (Decimal_ctors.Count >=  7)
     }
     
-    Type_GetTypeFromHandle = SystemType.Type.GetMethod ("GetTypeFromHandle");
+    Type_GetTypeFromHandle = SystemTypeCache.Type.GetMethod ("GetTypeFromHandle");
     AssemblyBuilder_EmbedResourceFile = Reflect ("System.Reflection.Emit.AssemblyBuilder")
       .GetMethod ("EmbedResourceFile", SR.BindingFlags.Instance %| SR.BindingFlags.Public
                    %| BindingFlags.NonPublic, null, SR.CallingConventions.Any,
                    array [String, String], null);
-    String_opEquality = SystemType.String.GetMethod ("op_Equality");
-    String_opInequality = SystemType.String.GetMethod ("op_Inequality");                     
+    String_opEquality = SystemTypeCache.String.GetMethod ("op_Equality");
+    String_opInequality = SystemTypeCache.String.GetMethod ("op_Inequality");                     
     String_Concat = String.GetMethod ("Concat", array [String, String]);
-    Decimal_opEquality = SystemType.Decimal.GetMethod ("op_Equality");
+    Decimal_opEquality = SystemTypeCache.Decimal.GetMethod ("op_Equality");
     ObjectCtor = Object.GetConstructor (System.Type.EmptyTypes);
     assert (ObjectCtor != null);
 
@@ -620,7 +620,7 @@
   {
     // prevent multiple execution
     when (InternalType.MatchFailureException_tc == null) { 
-      SystemType.NemerleAttribute = SystemType.Reflect ("Nemerle.Internal.NemerleAttribute");    
+      SystemTypeCache.NemerleAttribute = SystemTypeCache.Reflect ("Nemerle.Internal.NemerleAttribute");    
       InternalType.MatchFailureException_tc = lookup ("Nemerle.Core.MatchFailureException"); 
       InternalType.MatchFailureException = MType.Class (InternalType.MatchFailureException_tc, []);
 

Modified: nemerle/trunk/ncc/external/LibrariesLoader.n
==============================================================================
--- nemerle/trunk/ncc/external/LibrariesLoader.n	(original)
+++ nemerle/trunk/ncc/external/LibrariesLoader.n	Wed May 24 11:15:32 2006
@@ -337,10 +337,10 @@
       def assembly = lib.GetAssembly ();
       def types = assembly.GetExportedTypes ();
 
-      when (SystemType.ExtensionAttribute == null)
-        SystemType.ExtensionAttribute = assembly.GetType ("Nemerle.Internal.ExtensionAttribute");
-      when (SystemType.SQ_ExtensionAttribute == null)
-        SystemType.SQ_ExtensionAttribute = assembly.GetType ("System.Runtime.CompilerServices.ExtensionAttribute");
+      when (SystemTypeCache.ExtensionAttribute == null)
+        SystemTypeCache.ExtensionAttribute = assembly.GetType ("Nemerle.Internal.ExtensionAttribute");
+      when (SystemTypeCache.SQ_ExtensionAttribute == null)
+        SystemTypeCache.SQ_ExtensionAttribute = assembly.GetType ("System.Runtime.CompilerServices.ExtensionAttribute");
 
       mutable i = 0;
       for (; i < types.Length; ++i) {
@@ -353,10 +353,10 @@
 
         def mainnode = ns_node.Path (path_to_type);
 
-        when (SystemType.ExtensionAttribute != null &&
-              t.IsDefined (SystemType.ExtensionAttribute, false) ||
-              SystemType.SQ_ExtensionAttribute != null &&
-              t.IsDefined (SystemType.SQ_ExtensionAttribute, false))
+        when (SystemTypeCache.ExtensionAttribute != null &&
+              t.IsDefined (SystemTypeCache.ExtensionAttribute, false) ||
+              SystemTypeCache.SQ_ExtensionAttribute != null &&
+              t.IsDefined (SystemTypeCache.SQ_ExtensionAttribute, false))
           _construct_right_away ::= mainnode;
 
         mutable tinfo_cache = null;
@@ -539,7 +539,7 @@
                          framework_type : System.Type) : MType
     {
       // Message.Debug (framework_type.ToString ());
-      if (framework_type.Equals (SystemType.Void))
+      if (framework_type.Equals (SystemTypeCache.Void))
         InternalType.Void
       else
         if (framework_type.IsArray)
@@ -616,7 +616,7 @@
     {
       if (_is_generated_by_nemerle &&
           // we could use IsDefined, after fixing bug http://bugzilla.ximian.com/show_bug.cgi?id=76150
-          reflected_type.GetCustomAttributes (SystemType.NemerleAttribute, false).Length > 0)
+          reflected_type.GetCustomAttributes (SystemTypeCache.NemerleAttribute, false).Length > 0)
         NetTypeInfo (this, reflected_type, ns_node)
       else
         NetType (this, reflected_type, ns_node)
@@ -711,7 +711,7 @@
         }
 
         def attrs = system_type.GetCustomAttributes (
-                      SystemType.Reflection_DefaultMemberAttribute, true);
+                      SystemTypeCache.Reflection_DefaultMemberAttribute, true);
         default_indexer =
           if (attrs.Length > 0) {
             def dma = attrs [0] :> System.Reflection.DefaultMemberAttribute;
@@ -724,8 +724,8 @@
         when (LibraryReference.add_buildins) AddBuiltins ();
 //        else Message.Debug ($"omiititng $FullName");
 
-        decode_extension_methods (lib.LibRefManager, SystemType.ExtensionAttribute);
-        decode_extension_methods (lib.LibRefManager, SystemType.SQ_ExtensionAttribute);
+        decode_extension_methods (lib.LibRefManager, SystemTypeCache.ExtensionAttribute);
+        decode_extension_methods (lib.LibRefManager, SystemTypeCache.SQ_ExtensionAttribute);
       }
 
       #region Special numeric overloads
@@ -846,8 +846,8 @@
       internal AddBuiltins () : void
       {
         InitBuiltinMembers ();
-        when (system_type.IsPrimitive || system_type.Equals (SystemType.Object) ||
-              system_type.Equals (SystemType.String)) {
+        when (system_type.IsPrimitive || system_type.Equals (SystemTypeCache.Object) ||
+              system_type.Equals (SystemTypeCache.String)) {
           def name = system_type.Name;
           if (name == "String") {
             // == and != are surprisingly properly overloaded
@@ -1009,7 +1009,7 @@
       public override IsDelegate : bool
       {
         [Nemerle.Memoize]
-        get { system_type.IsSubclassOf (SystemType.MulticastDelegate) }
+        get { system_type.IsSubclassOf (SystemTypeCache.MulticastDelegate) }
       }
 
       public override GetConstantObject () : IField
@@ -1877,7 +1877,7 @@
         def parms = handle.GetParameters ();
 
         when (parms.Length > 0) {
-          is_var_args = parms [parms.Length - 1].IsDefined (SystemType.ParamArrayAttribute, false);
+          is_var_args = parms [parms.Length - 1].IsDefined (SystemTypeCache.ParamArrayAttribute, false);
         }
 
         fun_header =
@@ -2074,7 +2074,7 @@
 
     private static get_variant_options (system_type : System.Type) : list [string]
     {
-      def str = get_string_attribute (system_type, SystemType.VariantAttribute, "GetVariantOptions");
+      def str = get_string_attribute (system_type, SystemTypeCache.VariantAttribute, "GetVariantOptions");
       NString.Split (str, array [','])
     }
 
@@ -2087,7 +2087,7 @@
       {
         base (lib, h, ns_node);
 
-        if (system_type.IsDefined (SystemType.VariantAttribute, false)) {
+        if (system_type.IsDefined (SystemTypeCache.VariantAttribute, false)) {
           def names = get_variant_options (system_type);
           def get_opt (name : string) {
             match (lib.LibRefManager.NameTree.LookupExactType (NString.Split (name, array ['.', '+']))) {
@@ -2100,19 +2100,19 @@
           };
           tydecl = TypeDeclaration.Variant (List.Map (names, get_opt))
         } 
-        else if (system_type.IsDefined (SystemType.VariantOptionAttribute, false)) {
+        else if (system_type.IsDefined (SystemTypeCache.VariantOptionAttribute, false)) {
           tydecl = TypeDeclaration.VariantOption ()
         } 
-        else if (system_type.IsDefined (SystemType.ConstantVariantOptionAttribute, false)) {
+        else if (system_type.IsDefined (SystemTypeCache.ConstantVariantOptionAttribute, false)) {
           tydecl = TypeDeclaration.VariantOption ();
           match (LookupMember ("_N_constant_object")) {
             | [fld] => constant_object = fld :> IField
             | _ => Util.ice ("cannot find _N_constant_object")
           }
         } 
-        else if (system_type.IsDefined (SystemType.TypeAliasAttribute, false)) {
+        else if (system_type.IsDefined (SystemTypeCache.TypeAliasAttribute, false)) {
           def type_string = 
-            get_string_attribute (system_type, SystemType.TypeAliasAttribute, "GetAliasedType");
+            get_string_attribute (system_type, SystemTypeCache.TypeAliasAttribute, "GetAliasedType");
           tydecl = TypeDeclaration.Alias (TyCodec.DecodeType (lib, tenv, type_string))
         } 
         else if (system_type.IsInterface)
@@ -2137,7 +2137,7 @@
 
       decode_extension_patterns () : void
       {
-        def t = SystemType.ExtensionPatternEncodingAttribute;
+        def t = SystemTypeCache.ExtensionPatternEncodingAttribute;
         def attrs = system_type.GetCustomAttributes (t, false);
         when (attrs.Length > 0) {
           def get_ids = t.GetMethod ("get_Identifiers");

Modified: nemerle/trunk/ncc/generation/HierarchyEmitter.n
==============================================================================
--- nemerle/trunk/ncc/generation/HierarchyEmitter.n	(original)
+++ nemerle/trunk/ncc/generation/HierarchyEmitter.n	Wed May 24 11:15:32 2006
@@ -216,13 +216,13 @@
           
         // emit debug attributes
         when (Manager.Options.EmitDebug) {
-          def attr = AttributeCompiler.MakeEmittedAttribute (SystemType.DebuggableAttribute, array [SystemType.DebuggableAttribute_DebuggingModes], 
+          def attr = AttributeCompiler.MakeEmittedAttribute (SystemTypeCache.DebuggableAttribute, array [SystemTypeCache.DebuggableAttribute_DebuggingModes], 
             DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.Default);
           _assembly_builder.SetCustomAttribute (attr);
         }
 
         // do not require string literals interning
-        def attr = AttributeCompiler.MakeEmittedAttribute (SystemType.CompilationRelaxationsAttribute, 8);
+        def attr = AttributeCompiler.MakeEmittedAttribute (SystemTypeCache.CompilationRelaxationsAttribute, 8);
         _assembly_builder.SetCustomAttribute (attr);
         
         // wrap non exception throws
@@ -251,7 +251,7 @@
 
       // if there are some nemerle specific metadata encoded in attributes
       when (contains_nemerle_specifics) {
-        def attr = AttributeCompiler.MakeEmittedAttribute (SystemType.Reflection_AssemblyConfigurationAttribute, "ContainsNemerleTypes");
+        def attr = AttributeCompiler.MakeEmittedAttribute (SystemTypeCache.Reflection_AssemblyConfigurationAttribute, "ContainsNemerleTypes");
         this._assembly_builder.SetCustomAttribute (attr);
       }
           
@@ -305,7 +305,7 @@
           //Message.Debug ("make type builder for " + ti.FullName);
           ti.CreateEmitBuilder ();
           when (ti.Attributes %&& NemerleAttributes.Macro) {
-            def attr = AttributeCompiler.MakeEmittedAttribute (SystemType.ContainsMacroAttribute, ti.GetTypeBuilder ().FullName);
+            def attr = AttributeCompiler.MakeEmittedAttribute (SystemTypeCache.ContainsMacroAttribute, ti.GetTypeBuilder ().FullName);
             _assembly_builder.SetCustomAttribute (attr);
           }
         }
@@ -493,7 +493,7 @@
         when (IsStruct && GetFields (BindingFlags.Instance %|
                                      BindingFlags.Public %| 
                                      BindingFlags.NonPublic).IsEmpty)
-          _ = type_builder.DefineField ("$PLACE_HOLDER$", SystemType.Byte,
+          _ = type_builder.DefineField ("$PLACE_HOLDER$", SystemTypeCache.Byte,
                                         FieldAttributes.Private %| FieldAttributes.SpecialName);
         
         system_type = type_builder;
@@ -506,7 +506,7 @@
     private static make_nemerle_variant_attribute (decls : list [TypeInfo]) : Emit.CustomAttributeBuilder
     {
       def names = decls.Map (fun (decl) { decl.FullName });
-      AttributeCompiler.MakeEmittedAttribute (SystemType.VariantAttribute, NString.Concat (",", names))
+      AttributeCompiler.MakeEmittedAttribute (SystemTypeCache.VariantAttribute, NString.Concat (",", names))
     }
 
 
@@ -515,7 +515,7 @@
      */
     private static make_nemerle_type_alias_attribute (t : MType) : Emit.CustomAttributeBuilder
     {
-      AttributeCompiler.MakeEmittedAttribute (SystemType.TypeAliasAttribute, TyCodec.EncodeType (t))
+      AttributeCompiler.MakeEmittedAttribute (SystemTypeCache.TypeAliasAttribute, TyCodec.EncodeType (t))
     }
 
 
@@ -525,9 +525,9 @@
     private static make_nemerle_variant_option_attribute (is_const : bool) : Emit.CustomAttributeBuilder
     {
       AttributeCompiler.MakeEmittedAttribute (if (is_const)
-                             SystemType.ConstantVariantOptionAttribute
+                             SystemTypeCache.ConstantVariantOptionAttribute
                            else
-                             SystemType.VariantOptionAttribute)
+                             SystemTypeCache.VariantOptionAttribute)
     }
 
 
@@ -604,7 +604,7 @@
     determine_inheritance () : (System.Type * array [System.Type])
     {
       match (tydecl) {
-        | TypeDeclaration.Enum => (SystemType.Enum, array [])
+        | TypeDeclaration.Enum => (SystemTypeCache.Enum, array [])
         | _ =>
           def interfaces = InterfacesToImplement ().MapToArray (fun (i) {
               GetMemType ().GetInstantiatedSuperType (i).SystemType
@@ -629,7 +629,7 @@
         // save inheritance information in our type builder
         when (extends_class != null) {
           if (FullName.StartsWith ("Nemerle.Builtins.Array"))
-            type_builder.SetParent (SystemType.Object);
+            type_builder.SetParent (SystemTypeCache.Object);
           else
             type_builder.SetParent (extends_class);
         }
@@ -1069,12 +1069,12 @@
       }
       
       when (IsVolatile) {
-        def volatile_attr = AttributeCompiler.MakeEmittedAttribute (SystemType.VolatileModifier);
+        def volatile_attr = AttributeCompiler.MakeEmittedAttribute (SystemTypeCache.VolatileModifier);
         field_builder.SetCustomAttribute (volatile_attr)
       }
 
       unless (IsMutable) {
-        def imm_attr = AttributeCompiler.MakeEmittedAttribute (SystemType.ImmutableAttribute);
+        def imm_attr = AttributeCompiler.MakeEmittedAttribute (SystemTypeCache.ImmutableAttribute);
         field_builder.SetCustomAttribute (imm_attr)
       }
     }

Modified: nemerle/trunk/ncc/generation/ILEmitter.n
==============================================================================
--- nemerle/trunk/ncc/generation/ILEmitter.n	(original)
+++ nemerle/trunk/ncc/generation/ILEmitter.n	Wed May 24 11:15:32 2006
@@ -606,7 +606,7 @@
           _ilg.Emit (OpCodes.Dup);
           _ilg.Emit (OpCodes.Brtrue_S, label_condition_not_null);
 
-          _ilg.ThrowException (SystemType.NullMatchException);
+          _ilg.ThrowException (SystemTypeCache.NullMatchException);
 
           _ilg.MarkLabel (label_condition_not_null);
 
@@ -636,7 +636,7 @@
         | TypeOf (t) =>
           Mark (expr.loc);
           _ilg.Emit (OpCodes.Ldtoken, t.SystemType);
-          _ilg.Emit (OpCodes.Call, SystemType.Type_GetTypeFromHandle);
+          _ilg.Emit (OpCodes.Call, SystemTypeCache.Type_GetTypeFromHandle);
 
 
         /* emits the TExpr.Switch instruction */
@@ -763,9 +763,9 @@
             emit_value_type_conversion (expr.loc, val.Type, cast_to_type, is_checked)
           }
           else if (is_generic || 
-                   SystemType.Object : object == type_of_expr || 
+                   SystemTypeCache.Object : object == type_of_expr || 
                    type_of_expr.IsInterface || 
-                   (SystemType.Enum : object == type_of_expr && cast_to_stype.IsEnum)) {
+                   (SystemTypeCache.Enum : object == type_of_expr && cast_to_stype.IsEnum)) {
             /* unboxing returns a pointer to a value */
             _ilg.Emit (OpCodes.Unbox, cast_to_stype);
 
@@ -1337,7 +1337,7 @@
 
           def arg_types = array (size);
           for (mutable i = 0; i < size; ++i)
-            arg_types [i] = SystemType.Int32;
+            arg_types [i] = SystemTypeCache.Int32;
           def method =
             _module_builder.GetArrayMethod (expr.SystemType, ".ctor", 
                                             CallingConventions.HasThis,
@@ -1395,13 +1395,13 @@
         def args = array (rank + 1);
         for (mutable i = 0; i < rank; ++i)
         {
-            args [i] = SystemType.Int32;
+            args [i] = SystemTypeCache.Int32;
         }
         args [rank] = t.GetElementType ();
 
         _module_builder.GetArrayMethod (t, "Set",
                                         CallingConventions.HasThis %| CallingConventions.Standard,
-                                        SystemType.Void, args);
+                                        SystemTypeCache.Void, args);
     }
 
 
@@ -1445,7 +1445,7 @@
         def args = array (rank);
         for (mutable i = 0; i < rank; ++i)
         {
-            args [i] = SystemType.Int32;
+            args [i] = SystemTypeCache.Int32;
         }
 
         _module_builder.GetArrayMethod (t, "Get",
@@ -1461,7 +1461,7 @@
         def args = array (rank);
         for (mutable i = 0; i < rank; ++i)
         {
-            args [i] = SystemType.Int32;
+            args [i] = SystemTypeCache.Int32;
         }
 
         _module_builder.GetArrayMethod (t, "Address",
@@ -1678,13 +1678,13 @@
               }
             _ilg.Emit (opcode)
           }
-          else if (r : object == SystemType.Decimal) {
+          else if (r : object == SystemTypeCache.Decimal) {
             // FIXME: use true underalying type
             def lname = if (l.IsEnum) "Int32" else l.Name;
             match (lname) {
               | "Int32" | "UInt32" | "Single" | "Int64" | "UInt64"
               | "Double" =>
-                _ilg.Emit (OpCodes.Newobj, Option.UnSome (SystemType.Decimal_ctors.Get (lname)))
+                _ilg.Emit (OpCodes.Newobj, Option.UnSome (SystemTypeCache.Decimal_ctors.Get (lname)))
               | _ => fail ()
             }
           }
@@ -1925,7 +1925,7 @@
 
           _ilg.Emit (OpCodes.Ldc_I4_4);
 
-          _ilg.Emit (OpCodes.Newarr, SystemType.Int32);
+          _ilg.Emit (OpCodes.Newarr, SystemTypeCache.Int32);
 
           when (decimal_bits [0] != 0)
             _ilg.Emit (OpCodes.Dup);
@@ -1957,7 +1957,7 @@
             _ilg.Emit (OpCodes.Stelem_I4)
           }
 
-          _ilg.Emit (OpCodes.Newobj, Option.UnSome (SystemType.Decimal_ctors.Get ("Int32[]")))
+          _ilg.Emit (OpCodes.Newobj, Option.UnSome (SystemTypeCache.Decimal_ctors.Get ("Int32[]")))
 
         | Literal.Enum (l, _) => emit_literal (l)
       }

Modified: nemerle/trunk/ncc/hierarchy/CustomAttribute.n
==============================================================================
--- nemerle/trunk/ncc/hierarchy/CustomAttribute.n	(original)
+++ nemerle/trunk/ncc/hierarchy/CustomAttribute.n	Wed May 24 11:15:32 2006
@@ -294,7 +294,7 @@
 
     internal MakeEmittedAttribute (attr_type : System.Type, value : string) : SR.Emit.CustomAttributeBuilder
     {
-      MakeEmittedAttribute (attr_type, array [SystemType.String], value);
+      MakeEmittedAttribute (attr_type, array [SystemTypeCache.String], value);
     }
 
     internal MakeEmittedAttribute (attr_type : System.Type) : SR.Emit.CustomAttributeBuilder
@@ -305,7 +305,7 @@
 
     internal MakeEmittedAttribute (attr_type : System.Type, value : int) : SR.Emit.CustomAttributeBuilder
     {
-      MakeEmittedAttribute (attr_type, array [SystemType.Int32], value);
+      MakeEmittedAttribute (attr_type, array [SystemTypeCache.Int32], value);
     }
 
     internal MakeEmittedAttribute (attr_type : System.Type, param_types : array [System.Type], value : object) : SR.Emit.CustomAttributeBuilder

Modified: nemerle/trunk/ncc/passes.n
==============================================================================
--- nemerle/trunk/ncc/passes.n	(original)
+++ nemerle/trunk/ncc/passes.n	Wed May 24 11:15:32 2006
@@ -31,10 +31,16 @@
 
 namespace Nemerle.Compiler 
 {
+  public class InternalTypeClass {}
+  public class SystemTypeClass {}
+
   public class ManagerClass 
   {
     public static mutable Instance : ManagerClass;
 
+    public SystemTypeCache : SystemTypeClass;
+    public InternalType : InternalTypeClass;
+
     internal mutable Solver : Solver;
     public mutable Hierarchy : TypesManager;
     internal mutable LibrariesManager : LibraryReferenceManager;
@@ -197,7 +203,7 @@
         LibrariesManager.LoadMacrosFrom (file);
 
       when (! Options.PersistentLibraries || InternalType.Void == null) {
-        SystemType.Init ();                 
+        SystemTypeCache.Init ();                 
         InternalType.InitSystemTypes ();
         unless (Options.DoNotLoadStdlib) InternalType.InitNemerleTypes ();
         LibrariesManager.LoadExtensions ();

Modified: nemerle/trunk/ncc/typing/MType.n
==============================================================================
--- nemerle/trunk/ncc/typing/MType.n	(original)
+++ nemerle/trunk/ncc/typing/MType.n	Wed May 24 11:15:32 2006
@@ -128,7 +128,7 @@
     {
       get {
         match (this) {
-          | Void => SystemType.Object
+          | Void => SystemTypeCache.Object
           | _ => SystemType
         }
       }
@@ -138,7 +138,7 @@
     {
       get {
         match (this) {
-          | Void => SystemType.Void
+          | Void => SystemTypeCache.Void
 
           | Tuple =>
             TupleType.Make (this).SystemType
@@ -174,7 +174,7 @@
             if (errs == Message.ErrorCount)
               tconstructor.GetGenericTypeDefinition ().MakeGenericType (typedargs)
             else
-              SystemType.Object
+              SystemTypeCache.Object
 
           | Ref (t)
           | Out (t) => t.SystemType.MakeByRefType ()



More information about the svn mailing list