* TabControl.cs: Implement missing 2.0 methods (SelectTab,
[mono.git] / mcs / gmcs / ChangeLog
index df7eefb6ef0feaadec52eae4a53ab81bfe0df248..71d2816bf0fe63775a61a7cae81d756f1045777b 100644 (file)
@@ -1,3 +1,203 @@
+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