+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 (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>
+
+ Fix #80534, gtest-309.cs
+ * generic.cs (UnifyType): Rename from InferType. Make unification
+ of generic insts simpler and don't insist on inferring all generic
+ parameters in a single generic inst unification.
+ (UnifyTypes): New.
+ (InferGenericInstance): Remove.
+ Analysis and initial patch by David Mitchell <dmitchell@logos.com>.
+
+2007-01-20 Marek Safar <marek.safar@gmail.com>
+
+ * cs-parser.jay: Better parameter error handling.
+
+2007-01-17 Bill Holmes <bill.holmes@ansys.com>
+ Raja R Harinath <rharinath@novell.com>
+
+ * cs-parser.jay (accessor_declarations): Use it instead of 'Pair'.
+ Note the order in which accessors are declared in the source.
+
+2007-01-16 Sergey P. Kondratyev <se@unicom.tomica.ru>
+
+ * generic.cs (TypeParameter.FindMembers): Use the generic
+ constraints, not the constraints to check for methods (first fix
+ of 80518).
+
+2006-12-30 Marek Safar <marek.safar@gmail.com>
+
+ * cs-parser.jay: Better syntax errors handling.
+
+2006-11-21 Marek Safar <marek.safar@gmail.com>
+
+ * cs-parser.jay: Tiny change to work with mcs tokenizer.
+
+ * cs-tokenizer.cs: Remove after unification with mcs.
+
+2006-10-28 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #78998
+ * generic.cs (ConstructedType.AsAccessible): Check accessibility of type
+ arguments as well.
+
+2006-10-26 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #76591
+ * cs-tokenizer.cs (IsCastToken): Enable a cast of anonymous methods.
+
+2006-10-25 Brian Crowell <brian@fluggo.com>
+
+ Fix #79703
+ * generic.cs (CheckConstraints): Allow generic parameters with
+ inheritance constraints to satisfy reference type constraints.
+
+2006-10-09 Martin Baulig <martin@ximian.com>
+
+ * generic.cs
+ (NullCoalescingOperator.DoResolve): Fix #78964; added gtest-294.cs.
+
+2006-09-25 Martin Baulig <martin@ximian.com>
+
+ * class.cs: Remove after unification with mcs source.
+
+2006-09-24 Raja R Harinath <harinath@gmail.com>
+
+ * convert.cs: Remove after unification with mcs source.
+
+2006-09-24 Marek Safar <marek.safar@seznam.cz>
+
+ * class.cs (MemberBase.VerifyClsCompliance): When method has type
+ parameters verify them as well.
+
+ * generic.cs (Constraints.VerifyClsCompliance): Verify CLS-Compliance of
+ the type parameter constraints.
+ (Generics.VerifyClsCompliance): Ditto.
+
+2006-09-24 Marek Safar <marek.safar@seznam.cz>
+
+ * anonymous.cs (AnonymousMethod.Compatible): Cannot generate arguments
+ for anonymous block with out argument.
+
+2006-09-24 Marek Safar <marek.safar@seznam.cz>
+
+ * class.cs (ClassOrStruct.VerifyMembers): Fixed to report correctly
+ not used private events only.
+
+2006-09-23 Marek Safar <marek.safar@seznam.cz>
+
+ * convert.cs (ImplicitReferenceConversion): NullCast to EmptyConstantCast.
+
+ * cs-parser.jay: Parse correctly cast of default (T).
+
+ * generic.cs (DefaultValueExpression.DoResolve): Check for void type.
+ Store original type via EmptyConstantCast.
+
+2006-09-22 Martin Baulig <martin@ximian.com>
+
+ * delegate.cs: Removed; this file is now shared with mcs.
+
+ * attribute.cs: Removed; this file is now shared with mcs.
+
+2006-09-22 Martin Baulig <martin@ximian.com>
+
+ * ecore.cs: Removed; this file is now shared with mcs.
+
+2006-09-21 Marek Safar <marek.safar@seznam.cz>
+
+ * convert.cs (ImplicitReferenceConversion): Reuse ToType.
+
+ * ecore.cs (NullCast): Derives from NullConstant.
+
+ * generic.cs (DefaultValueExpression): Fixed to cope with the constant
+ results.
+
+2006-09-21 Martin Baulig <martin@ximian.com>
+
+ * decl.cs: Removed; this file is now shared with mcs.
+
+2006-09-21 Raja R Harinath <rharinath@novell.com>
+
+ * rootcontext.cs: Remove after unification with mcs source.
+
+ * report.cs: Remove after unification with mcs source.
+ * generic.cs (AddTypeParameter, LookupTypeParameter): Move to
+ mcs/typemanager.cs.
+ (InitGenerics, CleanUpGenerics): Remove.
+
+ * support.cs: Remove after unification with mcs source.
+
+2006-09-20 Raja R Harinath <rharinath@novell.com>
+
+ * codegen.cs: Remove after unification with mcs source.
+
+2006-09-19 Martin Baulig <martin@ximian.com>
+
+ * expression.cs: Removed; this file is now shared with mcs.
+
+2006-09-19 Martin Baulig <martin@ximian.com>
+
+ * generic.cs
+ (TypeManager.IsEqual): Moved into ../mcs/typemanager.cs.
+ (TypeManager.DropGenericTypeArguments): Likewise.
+ (TypeManager.DropGenericMethodArguments): Likewise.
+ (TypeManager.GetTypeArguments): Likewise.
+ (TypeManager.HasGenericArguments): Likewise.
+
+2006-09-19 Martin Baulig <martin@ximian.com>
+
+ * ecore.cs (PropertyExpr.InstanceResolve): Fix the CS1540 check.
+
+2006-09-19 Martin Baulig <martin@ximian.com>
+
+ * typemanager.cs: Removed; this file is now shared with mcs.
+
+2006-09-16 Raja R Harinath <rharinath@novell.com>
+
+ * Makefile (LOCAL_MCS_FLAGS): Use instead of PROFILE_MCS_FLAGS.
+ * AssemblyInfo.cs, driver.cs: Remove after unification with mcs source.
+
+2006-09-16 Marek Safar <marek.safar@seznam.cz>
+
+ A fix for #79401
+ * class.cs (MethodCore.VerifyClsCompliance): Do check for abstract members
+ only if parent type is class.
+ * decl.cs (MemberCore.GetClsCompliantAttributeValue): Fixed missing cache
+ update.
+
+2006-09-15 Marek Safar <marek.safar@seznam.cz>
+
+ * cs-parser.jay,
+ * expression.cs(MemberAccess.DoResolve): Don't crash when not allowed
+ keywords are used.
+ * typemanager.cs(CSharpName): Converts NullType to null.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ * pending.cs: Removed; this file is now shared with mcs.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ * statement.cs: Removed; this file is now shared with mcs.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ * rootcontext.cs (RootContext.BrokenCircularDeps): Removed.
+
+ * driver.cs: Removed the `--broken-cycles' argument.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ * namespace.cs: Removed; this file is now shared with mcs.
+
2006-09-15 Martin Baulig <martin@ximian.com>
* decl.cs (MemberName): Minor code cleanups.