2007-10-19 Nagappan A <anagappan@novell.com>
[mono.git] / mcs / gmcs / ChangeLog
index ee186907d9c59416cb2f8ed8f5cbb6edd99e0087..8278640b6a7b05ae494ecd87330a907925ef6f47 100644 (file)
@@ -1,3 +1,335 @@
+2007-10-12  Marek Safar  <marek.safar@gmail.com>
+       
+       * generics.cs: Implemented basic type inference scoring mechanism.
+       
+       * linq.cs (QueryExpressionInvocation): Try to identify and report which
+       query section is wrong.
+       
+2007-10-11  Marek Safar  <marek.safar@gmail.com>
+       
+       * generics.cs (InferTypeArguments): Removed redundant check.
+       
+2007-10-11  Marek Safar  <marek.safar@gmail.com>
+       
+       * cs-parser.jay: Added couple of ISO-2 checks.
+       
+       * linq.cs: Report range variable error message.
+       
+2007-10-09  Marek Safar  <marek.safar@gmail.com>
+       
+       * cs-parser.jay: Added extension methods ISO-2 check.
+       
+2007-10-05  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #327497
+       * generics.cs (Constraints.CheckInterfaceMethod): Compare geenric open
+       types when appropriate.
+       
+2007-10-02  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #329685
+       * generics.cs (TypeInferenceContext.OutputTypeInference): Slowly
+       implementing method group output type inference.
+
+2007-09-25  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Use only one block per query expression.
+               
+       * generics.cs (GenericMethod.Define): Moved local variables collision
+       check to Block.
+       
+       * linq.cs: Introduced QueryBlock and removed all blocks from query 
+       clauses.
+       
+2007-09-23  Marek Safar  <marek.safar@gmail.com>
+       
+       * generics.cs: Fixed lower-bound type inference issue for constructed
+       types.
+       
+       * linq.cs: Implemented nested queries.
+
+2007-09-21  Marek Safar  <marek.safar@gmail.com>
+       
+       * cs-parser.jay: Query expression block are not related to each other.
+
+2007-09-19  Marek Safar  <marek.safar@gmail.com>
+       
+       * generic.cs: Fixed type inference for generic delegate arguments whose
+       return types are generic delegates.
+       
+       * linq.cs: Replaced ec.DeclContainer with ec.TypeContainer.
+       
+2007-09-17  Marek Safar  <marek.safar@gmail.com>
+       
+       * cs-parser.jay, linq.cs: Implemented query continuation.
+
+2007-09-12  Marek Safar  <marek.safar@gmail.com>
+       
+       * cs-parser.jay: GroupJoin clause connected.
+       
+       * generic.cs (TypeInferenceContext.InflateGenericArgument): Uses 
+       inferred types to inflate delegate type argument.
+       
+       * linq.cs: Fixed couple of typos.
+       (GroupJoin): Implemented group join clause.
+       
+2007-09-11  Marek Safar  <marek.safar@gmail.com>
+       
+       * cs-parser.jay: Single join clause connected.
+       
+       * linq.cs: Moved argument creation into CreateSelector and renamed to
+       CreateSelectorArguments.
+       (ARangeVariableQueryClause.BuildQueryClause): Consider all lambda
+       arguments to be implicit.
+       (Join): Implemented single join clause.
+       
+2007-09-10  Marek Safar  <marek.safar@gmail.com>
+       
+       * cs-parser.jay: Create QueryStartClause for the first implicit from.
+       
+       * generic.cs (TypeInterferenceContext.LowerBoundInference): Fixed crash
+       both U and V are not generic.
+       
+       * linq.cs: Use standard method overload resolution for all methods.
+       
+2007-09-05  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Plug into let clause.
+       
+       * linq.cs: Implemented let clause, parameters refactoring.
+       
+2007-08-31  Marek Safar  <marek.safar@gmail.com>
+
+       * generic.cs (TypeParameter): Uses common Emit.
+       (.IsClsComplianceRequired): Is never required.
+
+2007-08-31  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Terminates query block correctly. Fixed orderby 
+       chaining.
+       
+       * generic.cs (TypeInferenceContext): Better error resistance.
+       
+       * linq.cs: Implemented range variables, transparent identifiers and
+       SelectMany clause.
+       
+2007-08-28  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Anonymous type arguments can be simple name, syntax error
+       handling.
+
+2007-08-23  Marek Safar  <marek.safar@gmail.com>
+
+       * generic.cs (TypeInferenceV3.DoSecondPhase): Handle nested delegate
+        type parameters.
+        (IsTypeNonDependent, RemoveDependentTypes): Handle nested delegate
+        type parameters.
+       
+2007-08-21  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay, linq.cs: Implemented orderby clause.
+       
+2007-08-20  Marek Safar  <marek.safar@gmail.com>
+
+       * linq.cs: Switch to lambda expressions.
+
+2007-08-20  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: An anonymous type can be empty.
+
+2007-08-17  Marek Safar  <marek.safar@gmail.com>
+
+       * linq.cs: MethodGroupExpr update.
+       
+2007-08-14  Marek Safar  <marek.safar@gmail.com>
+
+       ** C# 3.0 Object and collection initializers
+       
+       * cs-parser.jay: Grammar update.
+       
+2007-08-11  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #82412
+       * generics.cs (TypeInferenceContext.LowerBoundInference): Don't 
+       terminate type inference when an array is not paired.
+       
+2007-08-10  Miguel de Icaza  <miguel@novell.com>
+
+       * generic.cs (DefaultValueExpression): Add CloneTo support to this
+       as well. 
+
+2007-08-09  Marek Safar  <marek.safar@gmail.com>
+       ** C# 3.0 Anonymous Types (update to the latest standard)
+       
+       * cs-parser.jay: Updated parameters and type names.
+
+2007-08-03  Raja R Harinath  <harinath@gmail.com>
+
+       * cs-parser.jay (class_declaration): Update to changes in class.cs.
+       Move calling of 'AddBasesForPart' to ...
+       (class_bases): ... here.
+       (struct_declaration, interface_declaration): Update to changes.
+
+2007-08-02  Raja R Harinath  <harinath@gmail.com>
+
+       Reduce some differences between cs-parser.jay in mcs/ and gmcs/.
+       * cs-parser.jay: Some whitespace cleanups.
+       (method_header): Refer to the correct symbol for parameters.
+
+2007-08-01  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #82181
+       * cs-parser.jay: Ignore partial keyword inside block expression.
+       
+2007-08-01  Marek Safar  <marek.safar@gmail.com>
+
+       ** C# 3.0 Type Inference (major bits are working)
+       
+       * generic.cs: Introduced new abstract class as an entry point to type
+       inference. Old type inference moved to TypeInferenceV2. Implemented C# 3.0
+       type inference as descibed in the standard in TypeInferenceV2 class.
+       
+       * linq.cs (ALinqExpression): Disabled caching because it's wrong.
+       
+2007-07-25  Jb Evain  <jbevain@novell.com>
+
+       * Makefile: don't install on net_2_1.
+
+2007-07-18  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Use ImplicitLambdaParameter everywhere.
+
+2007-07-17  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Correct placeholder for implicit linq parameter.
+       
+       * linq: Add ImplicitArgument.
+
+2007-07-03  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Switch to ImplicitLambdaParameter.
+
+2007-07-03  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Initialize implicit_value_parameter_type for interface
+       members too.
+       
+       * linq.cs (QueryExpression.DoResolve): Resolve implicitly typed query
+       variable.
+       
+2007-06-20  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Reworked var keyword handling. We cannot handle var as
+       static keyword because var becomes keyword only if no type with the var
+       name exists in the scope of variable which uses var declaration.
+       
+2007-06-18  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Add implicitly typed local variable checks.
+
+2007-06-15  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Correctly split generic arguments and generic
+        parameters. Correctly implemented typeof of generic unbound types.
+
+2007-06-14  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Assembly and module attributes must precede all other
+       elements except using clauses and extern alias declarations.
+
+2007-06-08  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Uses newly defined GroupBy class.
+       
+       * linq.cs (GroupBy): Implemented.
+       (AQueryClause.BuildQueryClause): Refactored to allow customize query
+       method arguments.
+
+2007-06-08  Marek Safar  <marek.safar@gmail.com>
+
+       * generics.cs (InferTypeArguments): Uses AnonymousMethodExpression
+       InferTypeArguments.
+
+2007-06-06  Marek Safar  <marek.safar@gmail.com>
+
+       * generics.cs (TypeArguments): New contructor fow known number of
+       arguments.
+
+2007-06-04  Raja R Harinath  <rharinath@novell.com>
+
+       * linq.cs (Select.DoResolve): Pass the created parameters to the
+       ToplevelBlock too.
+
+2007-05-29  Raja R Harinath  <rharinath@novell.com>
+
+       * cs-parser.jay: Update to changes in ToplevelBlock.
+       (top_current_block): Remove.
+
+2007-05-27  Raja R Harinath  <harinath@gmail.com>
+
+       * cs-parser.jay: Update to new ExplicitBlock invariant.
+
+       * cs-parser.jay: Update to changes introduced in Block and
+       ExplicitBlock.
+
+2007-05-25  Raja R Harinath  <rharinath@novell.com>
+
+       * cs-parser.jay: Use 'start_block' and 'end_block' rather than
+       modifying current_block directly.
+
+2007-05-22  Scott Peterson  <lunchtimemama@gmail.com>
+       
+       * cs-parser.jay: Implemented automatic properties (C# 3.0)
+
+2007-05-15  Scott Peterson  <lunchtimemama@gmail.com>
+       
+       * cs-parser.jay: Improved grammar for object and collection
+         initialization.
+
+2007-04-28  Scott Peterson  <lunchtimemama@gmail.com>
+
+       This code is contributed under the MIT X11 license
+       
+       * cs-parser.jay: Added support for C# 3.0 language features:
+         Variable type inference (the "var" keyword)
+         Anonymous types
+         Array type inference
+         Object initialization
+         Collection initialization
+
+2007-05-06  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #81500
+       * cs-parser.jay: Add special handling for coalescing operator.
+
+2007-05-02  Raja R Harinath  <rharinath@novell.com>
+
+       Fix regression in cs0631-3.cs
+       * cs-parser.jay (operator_declarator): Add opt_attributes to error
+       fallback.  Make error fallback catch more cases.
+
+2007-05-01  Miguel de Icaza  <miguel@novell.com>
+
+       * cs-parser.jay: Allow parameters in operator declarations to have
+       attributes. 
+
+2007-04-27  Miguel de Icaza  <miguel@novell.com>
+
+       * generic.cs (TypeManager.LambdaInfer): now this routine will
+       make only one inference from the list of lambda expression that
+       have not participated in inferring a type.
+
+       (TypeManager.InferTypeArguments): The logic that drives the type
+       inference in lambda expressions is now driven here. 
+
+2007-04-23  Miguel de Icaza  <miguel@novell.com>
+
+       * generic.cs: Large update to LambdaInfer, this is merely an
+       update to start the lambda type inference.   It is by no means
+       complete.  It is currently merely able to build a sample program
+       (with no iteration for the type parameters).
+
 2007-04-12  Duncan Mak  <duncan@a-chinaman.com>
 
        * cs-parser.jay (interface_method_declaration_body): Fixed typo.