2002-09-20 Miguel de Icaza <miguel@ximian.com>
[mono.git] / mcs / mcs / ChangeLog
index 39659616212780c518a634a039b95bb99eadec65..f563112e707c1b89f2d367e3badb5a3b0e1b9355 100755 (executable)
@@ -1,3 +1,60 @@
+2002-09-20  Miguel de Icaza  <miguel@ximian.com>
+
+       * ecore.cs (StoreFromPtr): Use TypeManager.IsEnumType instad of IsEnum
+
+       * decl.cs (FindType): Sorry about this, fixed the type lookup bug.
+
+2002-09-19  Miguel de Icaza  <miguel@ximian.com>
+
+       * class.cs (TypeContainer.DefineType): We can not use the nice
+       PackingSize with the size set to 1 DefineType method, because it
+       will not allow us to define the interfaces that the struct
+       implements.
+
+       This completes the fixing of bug 27287
+
+       * ecore.cs (Expresion.ImplicitReferenceConversion): `class-type S'
+       means also structs.  This fixes part of the problem. 
+       (Expresion.ImplicitReferenceConversionExists): ditto.
+
+       * decl.cs (DeclSparce.ResolveType): Only report the type-not-found
+       error if there were no errors reported during the type lookup
+       process, to avoid duplicates or redundant errors.  Without this
+       you would get an ambiguous errors plus a type not found.  We have
+       beaten the user enough with the first error.  
+
+       (DeclSparce.FindType): Emit a warning if we have an ambiguous
+       reference. 
+
+       * ecore.cs (SimpleName.DoResolveType): If an error is emitted
+       during the resolution process, stop the lookup, this avoids
+       repeated error reports (same error twice).
+
+       * rootcontext.cs: Emit a warning if we have an ambiguous reference.
+
+       * typemanager.cs (LookupType): Redo the type lookup code to match
+       the needs of System.Reflection.  
+
+       The issue is that System.Reflection requires references to nested
+       types to begin with a "+" sign instead of a dot.  So toplevel
+       types look like: "NameSpace.TopLevelClass", and nested ones look
+       like "Namespace.TopLevelClass+Nested", with arbitrary nesting
+       levels. 
+
+2002-09-19  Martin Baulig  <martin@gnome.org>
+
+       * codegen.cs (EmitContext.EmitTopBlock): If control flow analysis
+       says that a method always returns or always throws an exception,
+       don't report the CS0161.
+
+       * statement.cs (FlowBranching.UsageVector.MergeChildren): Always
+       set `Returns = new_returns'.
+
+2002-09-19  Martin Baulig  <martin@gnome.org>
+
+       * expression.cs (MemberAccess.ResolveMemberAccess): When resolving
+       to an enum constant, check for a CS0176.
+
 2002-09-18  Miguel de Icaza  <miguel@ximian.com>
 
        * class.cs (TypeContainer.CheckPairedOperators): Now we check