2010-06-17 Marek Safar <marek.safar@gmail.com>
[mono.git] / mcs / mcs / ChangeLog
index a082128825abc9ba791d96319b3bd2918cdecfef..7aabc05dc3355ab1c40e2d924e654bb1f71a57b5 100644 (file)
@@ -1,3 +1,360 @@
+2010-06-17  Marek Safar  <marek.safar@gmail.com>
+
+       * generic.cs, method.cs: Inflate copied type parameters from base
+       class or explicit interfaces.
+       
+       * convert.cs: Fixed conversion between two type parameters.
+       Fixes #614471
+
+2010-06-16  Marek Safar  <marek.safar@gmail.com>
+
+       * membercache.cs, convert.cs: Correctly resize an array used by
+       GetUserOperator.
+
+2010-06-15  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #599601
+       * dynamic.cs, ecore.cs: A new flag for dynamic resolver to ignore
+       generated member access left expression.
+       
+2010-06-16  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs: Dispatch dynamic invocation solely on left
+       expression type.
+
+2010-06-16  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs, statement.cs: Always persist explicit cast
+       semantic at expression level.
+       
+2010-06-15  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs, attribute.cs: Enable generic type parameters
+       attribute check.
+       
+2010-06-15  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #612146
+       * generic.cs: Don't use fixed array for inflated type parameter
+       interface constraints.
+       
+2010-06-15  Marek Safar  <marek.safar@gmail.com>
+
+       * typespec.cs: ElementTypeSpec has to use its own ITypeDefinition.
+       
+       * report.cs: Unwrap elements for related symbols reporting.
+
+2010-06-15  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #612796
+       * cs-tokenizer.cs: Offset correctly keywords the first character
+       comparison.
+       
+2010-06-15  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #613397
+       * expression.cs: Removed too aggressive object initializers
+       optimization.
+       
+2010-06-15  Marek Safar  <marek.safar@gmail.com>
+       
+       * parameter.cs, property.cs, membercache.cs, decl.cs, iterators.cs,
+       anonymous.cs, expression.cs, support.cs, method.cs, pending.cs,
+       class.cs, cs-parser.jay: Simplify parsing of accessors by removing
+       any intermediate steps and fake nodes, also saves few MBs of memory.
+
+2010-06-11  Marek Safar  <marek.safar@gmail.com>
+       
+       * modifiers.cs, rootcontext.cs, location.cs, cs-parser.jay: More
+       precise modifiers parsing.
+
+2010-06-09  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs, anonymous.cs, expression.cs, cs-parser.jay:
+       Fixed few shift/reduce conflicts.
+
+2010-06-09  Marek Safar  <marek.safar@gmail.com>
+
+       * typemanager.cs, parameter.cs, dynamic.cs, typespec.cs,
+       expression.cs, ecore.cs, cs-parser.jay: Fully parse composed type
+       specifiers and stop using string in AST.
+
+2010-06-07  Marek Safar  <marek.safar@gmail.com>
+
+       * typemanager.cs, eval.cs, iterators.cs, anonymous.cs, expression.cs
+       method.cs, class.cs, delegate.cs, cs-parser.jay, driver.cs, visit.cs
+       enum.cs: Hold location of predefined types.
+
+2010-06-07  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #610878
+       * pending.cs: Clone cached list before modifying.
+
+2010-06-04  Marek Safar  <marek.safar@gmail.com>
+
+       * convert.cs, typespec.cs, expression.cs: Start using array member
+       kind for better conversion checks.
+       
+       * import.cs, report.cs: Report better error message for runtime
+       reflection bugs.
+
+2010-06-04  Marek Safar  <marek.safar@gmail.com>
+
+       * membercache.cs, convert.cs, nullable.cs, expression.cs: Optimize
+       user defined conversion probing and simplify user conversion for
+       nullabe types. Fixes #610940.
+
+2010-06-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #610919
+       * parameter.cs, property.cs, cs-parser.jay: Use independent implicit
+       parameters for explicit event accessors. Anonymous method capturing
+       won't otherwise work for event implicit parameter.
+
+2010-06-02  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #610088
+       * nullable.cs, expression.cs, statement.cs, method.cs, ecore.cs:
+       Ignore overrides for base overload resolution as for non-base
+       expressions and convert the best candidate to closest override
+       afterwards.
+
+2010-06-01  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #610139
+       * generic.cs, convert.cs: Recursively check effective base interface
+
+2010-06-01  Marek Safar  <marek.safar@gmail.com>
+
+       * statement.cs: Handle nullable types and type parameters in using
+       statement, avoid boxing value types. Also fixes #571010
+
+2010-06-01  Marek Safar  <marek.safar@gmail.com>
+
+       * convert.cs, expression.cs: Emit unbox for underlying nullable
+       type boxing cast.
+
+2010-05-29  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #610126
+       * expression.cs: Don't use branch optimization for types bigger than
+       int.
+
+2010-05-28  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #609088
+       * import.cs: Check private modifier correctly.
+
+2010-05-28  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #609049
+       * ecore.cs: Don't ignore override methods when looking for base
+       member.
+
+2010-05-27  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bugs #608007, #572540, #566130, #476358
+
+       * generic.cs, linq.cs, expression.cs, statement.cs, cs-parser.jay:
+       More tricky refactoring of implicit linq blocks.
+       
+2010-05-25  Marek Safar  <marek.safar@gmail.com>
+
+       * linq.cs, cs-parser.jay: Keep location for all linq clauses.
+
+2010-05-25  Marek Safar  <marek.safar@gmail.com>
+
+       * context.cs, expression.cs, cs-parser.jay: Don't store current
+       block in This expression (it's too early for linq blocks).
+
+2010-05-21  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs: Use constrained prefix more broadly to avoid boxing.
+
+2010-05-20  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #591149
+       * nullable.cs: Don't double wrap same expression.
+       
+2010-05-20  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #569827
+       * anonymous.cs: Any issued error in probing mode means no match.
+
+2010-05-20  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs: Search for base indexer using the closest match
+       rule.
+
+2010-05-20  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #572071
+       * method.cs: Set override constraints using unexpanded interface
+       list.
+
+2010-05-20  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #572071
+       * ecore.cs: Include secondary extension method lookup in probing
+       mode.
+
+2010-05-19  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #515801
+       * typespec.cs (MayBecomeEqualGenericTypes): Recursively check
+       type arguments.
+
+2010-05-19  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #515801
+       * pending.cs: Advance counter correctly.
+
+2010-05-19  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #480139
+       * method.cs, pending.cs: Indexer override uses base name.
+       
+2010-05-19  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #424064
+       * generic.cs: Replace original with inflated type parameter on
+       failure.
+
+2010-05-19  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #359733
+       * parameter.cs: Extension attribute can be defined in each assembly.
+
+2010-05-18  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #446507
+       * method.cs: Only one method can implement an interface.
+
+2010-05-18  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #594905
+       * convert.cs, constant.cs, expression.cs, literal.cs, ecore.cs:
+       Typed null can be used as a source for expression methods.
+
+2010-05-18  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #606551
+       * namespace.cs: Using directive imports only types and not nested
+       namespaces.
+
+2010-05-17  Marek Safar  <marek.safar@gmail.com>
+
+       * typespec.cs, expression.cs, statement.cs, ecore.cs, complete.cs,
+       delegate.cs: Member instance is resolved after member overload
+       definitely resolves static/instance property of member expression.
+       Fixes #545047, #358848, #456605, #460016, #603299
+
+2010-05-12  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #604981
+       * generic.cs, decl.cs, anonymous.cs: Reset more type arguments
+       details for nested anonymous methods stories.
+
+2010-05-11  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #604735
+       * namespace.cs: Don't report namespace collision.
+
+2010-05-11  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #604748
+       * class.cs, typespec.cs: Search full imported attribute hierarchy
+       for AttributeUsage.
+
+2010-05-11  Marek Safar  <marek.safar@gmail.com>
+
+       * namespace.cs: Ignore missing dependencies failure at
+       initialization.
+
+2010-05-11  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #604640
+       * namespace.cs: Don't resolve using constraints too early.
+
+2010-05-11  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #604239
+       * generic.cs: Copy partial type constraints to partial container.
+
+2010-05-10  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #557210
+       * import.cs: Relax underlying enum field rules.
+
+2010-05-10  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #603476
+       * property.cs: Implement IParametersMember for indexer accessors.
+
+2010-05-07  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #601141
+       * class.cs: Update all partial modifiers.
+
+2010-05-06  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #601708
+       * method.cs, membercache.cs: Destructors cannot be hidden.
+
+2010-05-06  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #602551
+       * class.cs: Resursive reference of type definition is allowed.
+
+2010-05-06  Marek Safar  <marek.safar@gmail.com>
+
+       * anonymous.cs: Mutate cached storey instance types too.
+
+2010-05-06  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #602443
+       * convert.cs: Explicit enum conversion cannot involve user operators
+
+2010-05-05  Miguel de Icaza  <miguel@novell.com>
+
+       * class.cs (TypeContainer.DefineBaseTypes)
+       (TypeContainer.CheckRecursiveDefinition): check for the iface not
+       being null, as we could have failed resolution and crashed;
+       Fixes #442144
+
+       * cs-parser.jay: Productions to catch common mistakes when other
+       punctuation operators are used instead of comma.   Fixes 571702 
+
+2010-05-05  Marek Safar  <marek.safar@gmail.com>
+
+       * anonymous.cs: Mutate correct set of constraints.
+
+2010-05-05  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #602842
+       * expression.cs: Resolve all array bound arguments.
+
+2010-05-05  Marek Safar  <marek.safar@gmail.com>
+
+       * import.cs: Don't import private fields.
+
+2010-04-30  Marek Safar  <marek.safar@gmail.com>
+
+       Partially based on patch by <sami.lamti@gmail.com>
+
+       * eval.cs, ecore.cs: Fixed eval show methods.
+
+2010-04-30  Marek Safar  <marek.safar@gmail.com>
+
+       * generic.cs, delegate.cs: Implement output type inference of
+       methodgroup now when the specification was cleared at least little
+       bit.
+
+2010-04-29  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #575611
+       * class.cs: Fix recursive unmanaged recursice sruct check.
+       
 2010-04-29  Marek Safar  <marek.safar@gmail.com>
 
        A fix for bug #479776