2007-08-24 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / mcs / ChangeLog
index f5fe70a4fe45bf1f12c8b9729e12c1f2eb660a06..11bc5b8564c12ec799622c654c28a2d7185f32b4 100644 (file)
@@ -1,3 +1,216 @@
+2007-08-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * doc.cs : catch other types of exception than XmlException to
+         report CS1570. Fixed bug #82565.
+
+2007-08-23  Marek Safar  <marek.safar@gmail.com>
+
+       * anonymous.cs (AnonymousMethodExpressin.ExplicitTypeInference): 
+       The number of delegate parameters has to match.
+       (AnonymousMethodExpressin.VerifyParameterCompatibility): Handles generic
+       arrays.
+
+2007-08-21  Marek Safar  <marek.safar@gmail.com>
+
+       * anonymous.cs (AnonymousMethod): Generate private anonymous method
+       to fix problem with private arguments.
+
+2007-08-20  Marek Safar  <marek.safar@gmail.com>
+
+       * anonymous.cs (AnonymousTypeClass): An anonymous type can be empty.
+       
+       * decl.cs (MemberName): Ignore generic type with no generic arguments. 
+       
+       * expression.cs (AnonymousTypeDeclaration): An anonymous type can be
+       empty. Add cloning suport.
+       
+       * roottypes.cs (GetAnonymousType): Fixed argument comparison logic.
+
+2007-08-20  Marek Safar  <marek.safar@gmail.com>
+
+       * convert.cs, ecore.cs, expression.cs, literal.cs: Use factory method 
+       to create EmptyCast. It handles EmptyConstantCast specialization for
+       constants.
+       
+2007-08-18  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs (Binary.is_unsigned): Handle unsafe types too.
+       (EmitArrayArgument): One routine for array arguments.
+       (ArrayCreation.MakeByteBlob): Fixed an array alignment. 
+       
+2007-08-17  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs (GetKeyword): Handle from keyword in a different way.
+
+2007-08-17  Marek Safar  <marek.safar@gmail.com>
+
+       * anonymous.cs: MemberLookupFinal update.
+
+       * class.cs (ConstructorInitializer): Is expression based.
+       
+       * delegate.cs: MethodGroupExpr update.
+       
+       * ecore.cs  (Error_MemberLookupFailed): Improved to report better error
+       messages.
+       (Error_MemberLookupFailed): Customizable error override.
+       (MethodGroupExpr): Keep queried type for later usage.
+       (MethodGroupExpr.OverloadResolve): Catch errors related to overload
+       resolve.
+       
+       * expression.cs: Error_MemberLookupFailed refactoring.
+       (New.DoResolve): Resolve as much as possible.
+       (ElementInitializer.Error_MemberLookupFailed): Object initializer
+       customization for invalid member types.
+
+       * statement.cs: MethodGroupExpr update.
+       
+2007-08-16  Marek Safar  <marek.safar@gmail.com>
+
+       * modifier.cs (Check): Check all modifiers and not only accessibility
+       ones.
+
+2007-08-16  Marek Safar  <marek.safar@gmail.com>
+
+       * ecore.cs (Expression.Error_ValueCannotBeConverted): Report always a
+       type and not an expression.
+
+2007-08-16  Marek Safar  <marek.safar@gmail.com>
+
+       * statement.cs (Catch.Clone): Type and variable can be null.
+
+2007-08-16  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #81979
+       * assign.cs (Assign.Emit): Prepare arguments for string concatenation.
+       I am really not sure whether this is the best fix.
+       
+       * expression.cs (VariableReference.EmitAssign): Do prepare_load test
+       only once.
+       
+2007-08-14  Marek Safar  <marek.safar@gmail.com>
+
+       ** C# 3.0 Object and collection initializers (major re-write)
+       
+       * assign.cs (DoResolve): Initializers are not assign related.
+       
+       * codegen.cs (EmitContext.CurrentInitializerVariable): Holds a varible
+       used during collection or object initialization.
+       
+       * expression.cs (Error_InvalidArguments): Add initializers specific
+       messages. More will come later because it requires some general
+       refactoring.
+       (New.DoResolve): Better error handling for unsafe types.
+       (EmptyExpressionStatement): New class.
+       (ElementInitializer): An object initializer expression.
+       (CollectionElementInitializer): A collection initializer expression.
+       (CollectionOrObjectInitializers): A block of object or collection
+       initializers.
+       (NewInitialize): New expression with element/object initializers.
+       
+       * statement.cs: Reverted object/collection initializer hacks.
+       
+       * typemanager.cs (CSharpName): Filter __arglist type.
+       
+2007-08-09  Marek Safar  <marek.safar@gmail.com>
+
+       ** C# 3.0 Anonymous Types (update to the latest standard)
+       
+       * expression.cs (Binary.ResolveOperator): Threat all null based types
+       same.
+       (AnonymousTypeDeclaration): Renamed from AnonymousType and simplified.
+       (AnonymousTypeParameter): Updated.
+       
+       * anonymous.cs (CompilerGeneratedClass): Add custom name overload.
+       (AnonymousTypeClass): New anonymous type container.
+       
+       * class.cs (AddField): Return operation result.
+       
+       * generic.cs: Another empty TypeArguments overload.
+       
+       * roottypes.cs (AddAnonymousType, GetAnonymousType): Anonymous types
+       are stored at top of normal hierarchy.
+       
+       * typemanager.cs (CSharpName): Filter anonymous types.
+       
+2007-08-09  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs (StringConcat.Append): Handle 3 and more concatenation
+       as single Concat call. How could we miss that :-(
+       
+2007-08-08  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs (ArrayCreation.CloneTo): Allocate exact size.
+       
+2007-08-07  Miguel de Icaza  <miguel@novell.com>
+
+       * expression.cs: Fix the previous commit, the creation of the
+       arguments array list needs also to be conditional on the arguments
+       not being null.
+
+       * class.cs: Add a little bit of help to help narrow down problems.
+
+       * expression.cs (ArrayCreation.CloneTo): Argument can be null, do
+       not try to copy in that case. 
+
+       * driver.cs: When building SMCS, include a new different set of
+       default assemblies here.   Do this here so we can control whether
+       to include the default assemblies with /noconfig.
+
+2007-08-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #81979
+       * expression.cs (TypeOf.GetAttributableValue): Check for type arguments
+       only.
+
+2007-08-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #82300
+
+       * anonymous.cs (AnonymousContainer.Define): Don't define anything when
+       we are in probing scope.
+
+2007-08-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #82301
+
+       * statement.cs (Catch.CloneTo): Clone blocks in the right order.
+       (Statement.CloneTo): Clone and not map children blocks.
+
+2007-08-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #82299
+
+       * expression.cs (LocalVariableReference.CloneTo): Remap local info
+       variable too.
+       
+       * statement.cs (Statement.CloneTo): Clone variables before statements
+       to allow remaping of local variables.
+
+2007-08-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #82296
+
+       * anonymous.cs,
+       * report.cs: Log crash details for future clone problems.
+       
+       * statement.cs (Return.Clone): Don't clone non-existent expression.
+
+2007-08-03  Raja R Harinath  <harinath@gmail.com>
+
+       * class.cs (TypeContainer.AddBasesForPart): Make virtual.
+       (Class.AddBasesForPart): Move CS0537 check here from ...
+       * cs-parser.jay (class_declaration): ... here.  Move calling of
+       'AddBasesForPart' to ...
+       (class_bases): ... here.
+       (struct_declaration, interface_declaration): Update to changes.
+
+2007-08-02  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #81923
+
+       * statement.cs (Using.ResolveLocalVariableDecls): Only non-user implicit
+       conversion is allowed.
+
 2007-08-02  Marek Safar  <marek.safar@gmail.com>
 
        A fix for bug #81564