**** Merged r40971 from MCS ****
[mono.git] / mcs / gmcs / ChangeLog
index 89f5f1b6c84f15fee8af456e0ac3e892ef7a1ee7..15e034bd779f4d9235f1379216fc492bc9f679ab 100644 (file)
@@ -1,3 +1,103 @@
+2005-02-21  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #69949
+       * attribute.cs (Attribute.GetAttributeUsage): Add EmitContext
+       argument. Call ResolveAttributeUsage for unresolved.
+       when types doesn't match ctor arguments.
+       
+       * class.cs (DoDefineMembers.TypeContainer): Removed safety check
+       for nested attribute classes.
+       (Class.attribute_usage): Removed.
+       (Class.ResolveAttributeUsage): Resolves AttributeUsageAttribute
+       for attribute class.
+       
+       * namespace.cs (UsingEntry.Resolve): Don't destroy NamespaceEntry.
+       
+       * rootcontext.cs (RegisterAttribute): Removed, attributes are
+       now normal types.
+       (attribute_types): Removed.
+       (EmitCode): Global attributes are emited as the latest.
+
+2005-02-18  Marek Safar  <marek.safar@seznam.cz>
+
+       * class.cs (EmitFieldInitializers): Don't emit field initializer
+       for default values when optimilization is on.
+       
+       * constant.cs (Constant.IsDefaultValue): New property.
+       
+       * driver.cs: Add /optimize handling.
+       
+       * constant.cs,
+       * ecore.cs,
+       * literal.cs: Implement new IsDefaultValue property.
+       
+       * rootcontext.cs (Optimize): New field, holds /optimize option.
+
+2005-02-18  Raja R Harinath  <rharinath@novell.com>
+
+       Fix crasher in re-opened #72347.
+       * namespace.cs (Namespace.Lookup): Return null if
+       DeclSpace.DefineType returns null.
+
+       Fix #72678.
+       * expression.cs (Argument.Resolve): Handle a case of CS0120 here.
+
+2005-02-18  Raja R Harinath  <rharinath@novell.com>
+
+       Fix remainder of #63202.  Change semantics of DoResolveLValue: it
+       now returns null if it cannot resolve to an lvalue.
+       * ecore.cs (Expression.DoResolveLValue): Return 'null' by default.
+       (Expression.ResolveLValue): Emit CS0131 error if DoResolveLValue
+       returned null.  Remove check for SimpleName.
+       (EventExpr.DoResolveLValue): New.
+       * iterators.cs (Iterator.FieldExpression.DoResolveLValue): New.
+       * expression.cs (Argument.Error_LValueRequired): New.  Move CS1510
+       error from ...
+       (Argument.Resolve): ... here.  Use it.  Use DoResolveLValue to
+       avoid CS0131 error.
+       (Unary.ResolveOperator): Move CS0211 check ...
+       (Unary.DoResolve): ... here.  Use DoResolveLValue to avoid
+       CS0131 error.
+       (Unary.DoResolveLValue): Simplify.
+       (AddressOf.DoResolveLValue): New.
+       (ArrayAccess.DoResolveLValue): New.
+
+2005-02-16  Marek Safar  <marek.safar@seznam.cz>
+
+       * attribute.cs (Attribute.Resolve): Add arguments casting for
+       when types doesn't match ctor arguments.
+
+2005-02-16  Raja R Harinath  <rharinath@novell.com>
+
+       Fix parts of #63202.
+       * expression.cs (UnaryMutator.ResolveOperator): Remove redundant
+       lookup of operator in base type.  Ensure that all checks happen
+       when the operator resolves to an "op_..." method.
+
+2005-02-15  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #71992.
+       * namespace.cs (NamespaceEntry.LookupNamespaceOrType): Add
+       'ignore_cs0104' parameter.  Pass it to ...
+       (NamespaceEntry.Lookup): ... this.
+       * decl.cs (DeclSpace.LookupType): Add 'ignore_cs0104' parameter.
+       * ecore.cs (SimpleName.ResolveAsTypeStep): Update.
+       (TypeLookupExpression.DoResolveAsTypeStep): Update.
+       * expression.cs (MemberAccess.IdenticalNameAndTypeName):
+       Update.  Request that cs0104 errors be ignored.
+       (ComposedCast.ResolveAsTypeStep): Update.
+
+2005-02-14  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #59209.
+       * expression.cs (Invocation.BetterFunction): Remove support for
+       comparing virtual functions and their overrides.
+       (Invocation.IsOverride): New.
+       (Invocation.OverloadResolve): Don't consider 'override' functions
+       during candidate selection.  Store them in a lookaside list.
+       If the selected method is a 'virtual' function, use the list to
+       find any overrides that are closer to the LHS type.
+
 2005-02-14  Marek Safar  <marek.safar@seznam.cz>
 
        * expression.cs (New.DoResolve): Add complex core type reduction.