2005-10-14 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / mcs / ChangeLog
index a1e1ae6d1c79dcc5402fa6e7437910392b1322c3..8fca44b6848e9fa42303a609444a226cc926d352 100644 (file)
@@ -1,3 +1,212 @@
+2005-10-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * cs-parser.jay, expression.cs : CS0214 was missing error location
+         for constants. Fixed bug #76404.
+
+2005-10-11  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #76370.
+       * convert.cs (ExplicitConversionCore): Fixed object->enum
+       conversion.
+
+2005-10-10  Raja R Harinath  <rharinath@novell.com>
+
+       * ecore.cs (PropertyExpr.Emit): Use Invocation.EmitCall to emit
+       InstanceExpression.
+       (PropertyExpr.EmitCall): Likewise.
+       * expression.cs (Invocation.EmitArguments): Handle case where
+       arguments == null.
+       (Invocation.EmitCall): Avoid allocating temporary variable if
+       there are no arguments.
+
+2005-10-07  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #76323.
+       * convert.cs (ImplicitConversionStandard): Move conversion of
+       void* to arbitrary pointer types ...
+       (ExplicitConversionStandard): .. here.
+       * ecore.cs (Expression.Error_ValueCannotBeConverted): Fix CS0266
+       error to always print typenames.
+
+2005-10-07  Raja R Harinath  <rharinath@novell.com>
+
+       * convert.cs (GetConversionOperator): Rename from
+       GetConversionOperators.  Move operator selection code from ...
+       (UserDefinedConversion): ... here.
+
+2005-10-06  Marek Safar  <marek.safar@seznam.cz>
+
+       * convert.cs (ExplicitConversionCore): Removed duplicate enum
+       conversion.
+
+2005-10-05  Marek Safar  <marek.safar@seznam.cz>
+
+       * assign.cs (Assign.DoResolve): Error method changed.
+
+       * cfold.cs (DoConstantNumericPromotions): Error method changed.
+       
+       * const.cs (ResolveValue): Reset in_transit immediately.
+       
+       * constant.cs: Error method changed.
+       
+       * convert.cs: Removed useless location parameter.
+       (ExplicitNumericConversion): Don't do double enum check.
+       (ExplicitConversionCore): Renamed from ExplicitConversion.
+       (ExplicitUnsafe): Extracted from ExplicitConversion.
+       (ExplicitConversion): Uses for error reporting.
+       
+       * ecore.cs (Error_ValueCannotBeConverted): More logic for more
+       error messages.
+       (ResolveBoolean): Uses common error method.
+       (CastToDecimal): Get rid of ec.
+       (CastFromDecimal): Optimized.
+       (ConvCast): Get rid of ec.
+       
+       * enum.cs (ResolveValue): Reset in_transit immediately.
+       (Emit): Return after first error.
+       
+       * expression.cs: Convert changes.
+       
+       * literal.cs: Error method changed.
+       
+       * statement.cs: Error method changed.
+
+2005-10-03  Raja R Harinath  <rharinath@novell.com>
+
+       * support.cs (SeekableStreamReader.Position): Don't error out when
+       the requested position is just beyond the end of the current
+       buffered data.
+
+2005-09-28  Raja R Harinath  <rharinath@novell.com>
+
+       * support.cs (SeekableStreamReader): Simplify drastically.  Don't
+       try to keep in sync with the byte count of the underlying Stream.
+       However, this limits us to a window size of 2048 characters: i.e.,
+       the maximum lookahead of our lexer/parser can be 2048 characters.
+
+2005-09-28  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #76255.
+       * driver.cs: Fix compilation files with full root path.
+
+2005-09-25  Miguel de Icaza  <miguel@novell.com>
+
+       * report.cs (SymbolRelatedToPreviousError): Format the output so
+       it does not use an open parenthesis that is never closed. 
+
+       * driver.cs: Follow coding guidelines
+
+2005-09-27  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #72930.
+       * const.cs (Const.ResolveValue): Check for assigning non-null
+       value to reference type.
+
+2005-09-27  Marek Safar  <marek.safar@seznam.cz>
+
+       * anonymous.cs: Implemented ExprClassName.
+       
+       * assign.cs (Assign.DoResolve): Don't chrash when type is not
+       delegate.
+       
+       * attribute.cs (ResolveArguments): Enabled MethodImplOptions
+       check.
+       
+       * class.cs (StaticClass.DefineContainerMembers): Report protected
+       members as error.
+       
+       * codegen.cs: if(ed) PRODUCTION.
+       
+       * convert.cs (Error_CannotImplicitConversion): Better error
+       distinction.
+       
+       * cs-parser.jay: More error checks.
+       
+       * cs-tokenizer.cs (consume_identifier): Fixed Miguel's revert.
+       
+       * driver.cs (CSCParseOption): Enabled wrong option check.
+       
+       * ecore.cs (Expression.ExprClassName): Turned to property.
+       (MemberExpr.CheckIntermediateModification): For checking boxed
+       value types     modification.
+       
+       * statement.cs (Fixed.Resolve): Expression type must be
+       convertible to fixed type.
+       (CollectionForeach.GetEnumeratorFilter,TryType):
+       Small refactoring for easier error checking.
+
+2005-09-26  Marek Safar  <marek.safar@seznam.cz>
+
+       * attribute.cs (Attribute.Resolve): Check Obsolete attribute for
+       attributes.
+       
+       * class.cs (GeneratedBaseInitializer): New class for customization
+       compiler generated initializers.
+       (MemberBase.DoDefine): Check Obsolete attribute here.
+       (FieldMember.DoDefine): Ditto.
+       
+       * const.cs (ExternalConstant.CreateDecimal): Builder for decimal
+       constants.
+       
+       * decl.cs (MemberCore.EmitContext): Returns valid current ec.
+       (MemberCore.GetObsoleteAttribute): Removed argument.
+       (MemberCore.CheckObsoleteness): Obsolete attributes are hierarchic.
+       (MemberCore.CheckObsoleteType): New helper.
+       
+       * delegate.cs,
+       * enum.cs,
+       * statement.cs: Updates after MemberCore changes.
+       
+       * ecore.cs (TypeExpr.ResolveType): Check type obsoleteness here.
+       (FieldExpr.ResolveMemberAccess): Fixed decimal constants checks.
+       
+       * expression.cs (ComposedCast.DoResolveAsTypeStep): Don't check
+       obsolete attribute for compiler construct.
+       (As.DoResolve): Cache result.
+       
+       * iterators.cs (Define_Constructor): Use GeneratedBaseInitializer.
+
+2005-09-26  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #76133.
+       * expression.cs (This.VerifyFixed): In a value type T, the type of
+       'this' is T&, iow, 'this' is either an out or ref parameter.  In a
+       value type R, 'this' is treated as a value parameter.
+
+2005-09-22  Miguel de Icaza  <miguel@novell.com>
+
+       * statement.cs (Lock): Use the TemporaryVariable class instead of
+       manually using local variables as those do not work when variables
+       are captured.
+
+       * ecore.cs: Moved the TemporaryVariable class from being a nested
+       class inside Foreach to be a public class that can be employed in
+       other places. 
+
+2005-09-19  Marek Safar  <marek.safar@seznam.cz>
+
+       * cs-parser.jay: interface_accessors replaced by
+       accessor_declarations.
+
+       * ecore.cs, literal.cs, statement.cs: NullLiteral holds null
+       location.
+       
+       * statement.cs (GotoCase.Resolve): Convert null constant to
+       null case.
+       (SwitchLabel.ResolveAndReduce): Ditto.
+       (SwitchLabel.NullStringCase): Custom null stamp.
+       (Switch.SimpleSwitchEmit): Fix from NullLiteral to NullStringCase.
+       
+       typemanager.cs (CSharpSignature): Don't skip first argument
+       for full names.
+
+2005-09-18  Miguel de Icaza  <miguel@novell.com>
+
+       * driver.cs: Set InEmacs based on the environment variable EMACS. 
+
+       * location.cs (InEmacs): in this mode, do not report column
+       location as it confuses Emacs.
+
 2005-09-16  Marek Safar  <marek.safar@seznam.cz>
 
        * cfold.cs, constant.cs, convert.cs, ecore.cs,