+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.
+
+2007-04-08 Marek Safar <marek.safar@gmail.com>
+
+ * cs-parser.jay, linq.cs: First select implementation (hacky).
+
+ * generic.cs (InferTypeArguments): Simplified.
+
+2007-03-31 Marek Safar <marek.safar@gmail.com>
+
+ * generic.cs (InferTypeArguments): Restored validation check.
+ (InferTypeArguments): Move all logic to Compatible method for re-usability.
+
+2007-03-25 Marek Safar <marek.safar@gmail.com>
+
+ * generic.cs (InferTypeArguments): Infer arguments before they are used
+ for compatibility check.
+
+2007-03-15 Marek Safar <marek.safar@gmail.com>
+
+ * generic.cs (InflatedConstraints): Fixed the check order.
+ (TypeArguments.Resolve): Small optimization for generic parameters.
+ (InferTypeArguments): Add infering support for anonymous methods.
+
+2007-03-15 Martin Baulig <martin@ximian.com>
+
+ Fix #79984.
+
+ * generic.cs
+ (TypeParameter.HasConstructorConstraint): Removed.
+ (ConstraintChecker.HasDefaultConstructor): Removed the
+ `TypeBuilder' argument here; correctly check for the ctor
+ constraint on type parameters.
+
+2007-03-15 Martin Baulig <martin@ximian.com>
+
+ Fix #79302.
+
+ * generic.cs
+ (TypeParameter): Create a `MemberCache' here as well. Note that
+ we need to create this on-demand when it's actually used.
+
+2007-03-10 Marek Safar <marek.safar@gmail.com>
+
+ * generic.cs (TypeArguments.Resolve): Avoid redundant checks.
+
+2007-03-09 Raja R Harinath <rharinath@novell.com>
+
+ * cs-parser.jay (WHERE): Move before QUERY_FIRST_TOKEN. 'where'
+ is a valid keyword outside a linq expression too.
+
+2007-03-03 Marek Safar <marek.safar@gmail.com>
+
+ * cs-parser.jay: Implemented basic linq grammar.
+
+ * linq.cs: New file for hosting query specific classes.
+
+2007-02-26 Marek Safar <marek.safar@gmail.com>
+
+ * cs-parser.jay, expression.cs: Compile empty __arglist correctly.
+
+2007-02-20 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #80650
+ * cs-parser.jay: Anonymous container starts at constructor declaration
+ and not at block beginning because it has to be usable in constructor
+ initializer.
+
+2007-02-18 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #80493 by Atsushi Enomoto
+ * cs-parser.jay: Ignore invalid attribute target.
+
+2007-02-15 Miguel de Icaza <miguel@novell.com>
+
+ * Remove the call to SetExpression for lambda expressions, we do
+ not actually need it.
+
+ Remove expression tracking code as its not needed.
+
+2007-02-11 Miguel de Icaza <miguel@novell.com>
+
+ * cs-parser.jay (lambda_expression_body): when the body is an
+ expression add a statement of the form:
+
+ contextual-return expression.
+
+ Where `contextual-return' is similar to `return', the difference
+ being that if the delegate that the lambda will be converted to
+ has a void return type, it will check that the result is a
+ ExpressionStatement and the result is a plain ret (no return
+ values on the stack). If the return type of the delegate is of a
+ given type, this turns into a return with a value and does the
+ regular checking to check that the computed value can be
+ implicitly converted to the delegate return.
+
+2007-01-30 Miguel de Icaza <miguel@novell.com>
+
+ * cs-parser.jay (anonymous_method_expression): move the
+ before/after productions to the start_anonymous and end_anonymous
+ methods so the code can be reused for lambda functions.
+
+ (lambda_expression_body): wrap expressions implicitly into a
+ block.
+
+ (block): factor out the setup/teardown of parsing a block so we
+ can reuse that in lambda_expression_body
+
+ (lambda_expression): use new anonymous method helper methods.
+
+2007-01-29 Miguel de Icaza <miguel@novell.com>
+
+ * cs-parser.jay: oob_stack make it static (am guessing that is why
+ we no longer initialize it anymore) and reuse it across
+ instances.
+
2007-01-28 Miguel de Icaza <miguel@novell.com>
- * cs-parser.jay: New grammar bits for parsing lambda expressions.
+ * cs-parser.jay (open_parens): Introduce new non-terminal that
+ abstracts OPEN_PARENS and OPEN_PARENS_LAMBDA as the later can now
+ be returned in places where types are followed by identifiers
+ (this is expected in declaration, fixed, using, foreach and catch
+ clauses).
+
+ Use open_parens in those places, keep OPEN_PARENS in the
+ expressions.
+
+ cs-parser.jay: New grammar bits for parsing lambda expressions.
2007-01-28 Raja R Harinath <rharinath@novell.com>