Delay initialization of missing methods needed by symbol writer
[mono.git] / mcs / mcs / ChangeLog
index abdb6688a30f46d105c752df8f26f3933da4e5ca..bb0089306539349ccfea3105af58ca74ffbfc0ee 100644 (file)
@@ -1,3 +1,874 @@
+2010-07-28  Marek Safar  <marek.safar@gmail.com>
+
+       * anonymous.cs, assign.cs, attribute.cs, decl.cs, delegate.cs,
+       doc.cs, dynamic.cs, ecore.cs, expression.cs, generic.cs, import.cs,
+       iterators.cs, linq.cs, membercache.cs, method.cs, report.cs,
+       statement.cs, typemanager.cs: Major name lookup fixes to deal with
+       C# 3.0 invocable members, correctly handle accessibility hidding and
+       property-like different get/set base accessors.
+       
+       Also fixes bugs #624870, #618522, #616068, #444180, #333891
+
+2010-07-14  Marek Safar  <marek.safar@gmail.com>
+
+       * namespace.cs, import.cs: When importing nested type via type
+       arguments set their parent type correctly (Fixes #622051).
+
+2010-07-14  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #622104
+       * attribute.cs: Add default lookup flags.
+       
+2010-07-12  Marek Safar  <marek.safar@gmail.com>
+
+       * generic.cs: Don't use Report directly.
+       
+       * expression.cs, ecore.cs: UserOperatorCall uses MethodSpec without
+       MethodGroupExpr, will be simplified later.
+
+2010-07-09  Marek Safar  <marek.safar@gmail.com>
+
+       * property.cs, parameters.cs: Inflated IndexerSpec parameters.
+       
+       * import.cs: Don't build unused parameters.
+
+2010-07-08  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs (Invocation): Don't recreate simple-name expression.
+
+2010-07-07  Marek Safar  <marek.safar@gmail.com>
+
+       * ecore.cs: Don't report NRE warning for lifted null.
+
+2010-07-07  Marek Safar  <marek.safar@gmail.com>
+
+       * typemanager.cs, convert.cs, expression.cs: Another reference
+       equality implementation attack (Fixes #620025, #579058).
+
+2010-07-05  Marek Safar  <marek.safar@gmail.com>
+
+       * context.cs, expression.cs, ecore.cs: BaseThis is fully based on
+       this expression (Fixes #619904).
+
+2010-07-05  Marek Safar  <marek.safar@gmail.com>
+
+       * membercache.cs, class.cs: Don't use base member to check for
+       property or indexer base implementation.
+
+2010-07-03  Marek Safar  <marek.safar@gmail.com>
+
+       * membercache.cs: Copy Membercache member state flags for 2 stage
+       inflate (Fixes #619555).
+       
+       * ecore.cs: Use resolved accessors everywhere.
+       
+2010-07-02  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #360820
+       * membercache.cs, property.cs: Check accessors of base property and
+       not the closest one.
+
+2010-07-02  Marek Safar  <marek.safar@gmail.com>
+
+       * modifiers.cs, membercache.cs, import.cs, class.cs: Moved imported
+       override method checks into import.
+
+       * expression.cs: Removed redundant check.
+
+2010-06-30  Marek Safar  <marek.safar@gmail.com>
+
+       * nullable.cs, expression.cs, statement.cs, method.cs, ecore.cs,
+       delegate.cs, cs-parser.jay, visit.cs: Use MemberAccess to resolve
+       base access expression, it has all bits done correctly.
+
+2010-06-30  Marek Safar  <marek.safar@gmail.com>
+
+       * support.cs: Removed unused code.
+       
+       * ecore.cs: Don't use memberlookup for operators.
+
+2010-06-30  Marek Safar  <marek.safar@gmail.com>
+
+       * typemanager.cs, membercache.cs, convert.cs, expression.cs,
+       ecore.cs: Replace remaining MethodLookup with correct user operator
+       lookup (to do correct deep lookup). Clean up most of outstanding
+       quirks in binary operator overload resolution.
+
+2010-06-29  Marek Safar  <marek.safar@gmail.com>
+
+       * import.cs: Operators must have between 1 and 2 parameters.
+       
+       * method.cs: Switch destructor to direct membercache lookup
+
+2010-06-29  Marek Safar  <marek.safar@gmail.com>
+
+       * driver.cs, expression.cs: Use Membercache for StringConcat when
+       it got all what is needed.
+
+2010-06-29  Marek Safar  <marek.safar@gmail.com>
+
+       * membercache.cs, expression.cs, statement.cs, doc.cs, ecore.cs:
+       Changed FindMembers to allocate a new list only when a filter is
+       used. Saves decent chunk of memory and should save even more in the
+       future when the filter is not used that often.
+
+2010-06-28  Marek Safar  <marek.safar@gmail.com>
+
+       * field.cs, property.cs, assign.cs, const.cs, expression.cs,
+       ecore.cs, class.cs, cs-parser.jay, enum.cs: Don't use intermediate
+       structure for simple type fields (saves memory and makes few things
+       simpler). Clean up some hacks mostly for events.
+
+2010-06-25  Marek Safar  <marek.safar@gmail.com>
+
+       * statement.cs, cs-parser.jay: Don't create expensive block for
+       simple statements.
+
+2010-06-24  Marek Safar  <marek.safar@gmail.com>
+
+       * statement.cs, report.cs: Rethrow internal error when reporting is
+       disabled.
+       
+       * ecore.cs: Check for identical name only when simple name is set.
+       Fixes #616667
+
+2010-06-24  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #616809
+       * generic.cs, expression.cs, ecore.cs: Added a new type expression
+       for open generic type to pass unbound type arguments to typeof
+       expression.
+
+2010-06-24  Marek Safar  <marek.safar@gmail.com>
+
+       * statement.cs: Foreach collection implementation refactoring to
+       search for GetEnumerator more preciselly. Fixes #431453 and more
+       unreported bugs.
+
+       * linq.cs, decl.cs, ecore.cs, delegate.cs: Update methodgroup api.
+
+2010-06-23  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Track more locations.
+
+2010-06-22  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs, location.cs, cs-parser.jay: Track more locations.
+
+2010-06-18  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs, anonymous.cs, expression.cs, statement.cs,
+       support.cs, location.cs, cs-parser.jay: Some work on full ast mode.
+
+2010-06-18  Marek Safar  <marek.safar@gmail.com>
+
+       * convert.cs, typespec.cs, method.cs: Fixed few more dynamic
+       conversion.
+
+2010-06-18  Marek Safar  <marek.safar@gmail.com>
+
+       * typemanager.cs, namespace.cs: Report more predefined types and
+       imported types collision types as a warning.
+       Fixes #537414, #601157
+
+2010-06-18  Marek Safar  <marek.safar@gmail.com>
+
+       * generic.cs: Overrides base method constraint can use method type
+       parameter.
+
+       * import.cs: Removed redundant cache.
+       
+2010-06-17  Marek Safar  <marek.safar@gmail.com>
+
+       * generic.cs: Propagate type only inflate downwards.
+
+2010-06-17  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #614955
+       * method.cs: Do not reject binary dynamic operators.
+
+2010-06-17  Marek Safar  <marek.safar@gmail.com>
+
+       * typespec.cs: Internal types have no generic parameters.
+       Fixes #615022.
+
+2010-06-17  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #614955
+       * cs-parser.jay: Correctly set expression mode for default parameter
+       values.
+
+2010-06-17  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #615023
+       * ecore.cs: Resolve dynamic namespace and keyword collision in the
+       favour of the keyword.
+
+2010-06-17  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #614917
+       * convert.cs: Allow more undocumented 0 like values to enum type 
+       conversions.
+
+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
+       * expression.cs: Implement typeof unbounded nested generic types.
+
+2010-04-29  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #474953
+       * class.cs: Fix valid recursive base type definition.
+
+2010-04-29  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #421737
+       * convert.cs, expression.cs: A boxing conversion exists from a
+       nullable-type to a reference type, if a boxing conversion exists
+       from the underlying non-nullable-value-type to the reference type.
+
+2010-04-29  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #376875
+       * import.cs: Import volatile modifier.
+
+2010-04-29  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #372412
+       * typespec.cs, expression.cs, codegen.cs: Emit readonly prefix for
+       generic arrays.
+
+2010-04-29  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #568955
+       * statements.cs: Handle recursive scope initializers.
+
+2010-04-28  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #566511
+       * anonymous.cs: Always get inflated version of hoisted variable
+       on generic type definition.
+
+2010-04-28  Marek Safar  <marek.safar@gmail.com>
+
+       * import.cs, membercache.cs: Relax rules for valid properties.
+
+2010-04-28  Marek Safar  <marek.safar@gmail.com>
+
+       * import.cs: Intern arrays used in generic arguments.
+
+2010-04-28  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #600398
+       * convert.cs: Actually use effective base type for the comparison.
+
+2010-04-28  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #600326
+       * ecore.cs: Pass arity to base member lookup.
+
+2010-04-28  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #573385
+       * expression.cs: MemberAccess is of generic type based on right
+       arity length only.
+
+2010-05-28  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs: Made tab size configurable.
+
+2010-05-27  Marek Safar  <marek.safar@gmail.com>
+
+       * attribute.cs: Ensure Obsolete members are defined before doing
+       ctor look-up.
+
+2010-05-27  Marek Safar  <marek.safar@gmail.com>
+
+       * visit.cs: Add DOM visitor skeleton.
+       
+       * *.cs: Updated.
+
+2010-05-27  Marek Safar  <marek.safar@gmail.com>
+
+       * attribute.cs, codegen.cs: Drop COMPILER_ACCESS hack.
+       
+2010-05-27  Marek Safar  <marek.safar@gmail.com>
+
+       * *.cs: Major rewrite of compiler internals to better work with
+       unmodified System.Reflection.Emit. Some of the key changes are
+       - TypeSpec replaces reflection specific System.Type.
+       - All Type(TypeSpec) operations are now done in compiler therefore
+       no dependency on SRE to inflate generic members and types or to
+       query unclosed types.
+       - MemberCache is now the only and full hierarchical topology.
+       - Generic constraints are implemented properly.
+       - And as a bonus compilation is on average 30% faster.
+
+2010-04-15  Jb Evain  <jbevain@novell.com>
+
+       * dmcs.exe.config: update the runtime version to .net 4.0 RTM.
+
+2010-04-12  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs, attribute.cs, parameter.cs: More attribute type
+       checks.
+
+2010-04-12  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #593342
+
+       * generic.cs, parameter.cs, argument.cs, field.cs, property.cs,
+       decl.cs, roottypes.cs, constant.cs, nullable.cs, expression.cs,
+       method.cs, ecore.cs, class.cs, delegate.cs, attribute.cs,
+       codegen.cs: Add custom attribute encoder to deal with unfinished
+       types and easier corlib bootstrap from its own types.
+
+2010-03-26  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Report invalid constraint types.
+
+2010-03-16  Jb Evain  <jbevain@novell.com>
+
+       * Makefile: rename the net_2_1 profile to moonlight.
+
+2010-03-11  Marek Safar  <marek.safar@gmail.com>
+
+       * statement.cs, cs-parser.jay: Use correct location for empty
+       statements.
+
+2010-03-11  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Disable Location from expression.
+       
+       * generic.cs: Check constraints for overrides in the parser.
+
+2010-03-09  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay (GetLocation): Use an expression when available.
+
+2010-03-04  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #582579
+       * ecore.cs (FieldExpr): Don't optimize cross reference loads.
+
+2010-03-04  Marek Safar  <marek.safar@gmail.com>
+
+       A patch by kornelpal@gmail.com
+       
+       * dynamic.cs, anonymous.cs, rootcontext.cs, class.cs: Don't make
+       compiler generated classes sealed by default. Emit and close top
+       level compiler generated classes as well. 
+       
+       * support.cs: Use RuntimeHelpers.GetHashCode.
+
+2010-03-03  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Makefile: We need to use the internal bootstrapping gmcs for
+       net_2_1_bootstrap too now.
+
+2010-03-02  Raja R Harinath  <harinath@hurrynot.org>
+
+       * expression.cs (IndexerAccess.ResolveAccessor): Add CS1540 check.
+
+2010-03-02  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs: Missed few locations in previous fix.
+
+2010-03-02  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs, argument.cs, dynamic.cs, assign.cs, anonymous.cs,
+       nullable.cs, expression.cs, statement.cs, cs-parser.jay, cfold.cs:
+       Report correct location for operator errors.
+
+2010-03-02  Marek Safar  <marek.safar@gmail.com>
+
+       * typemanager.cs (IsDynamicType): Don't check external types when
+       the attribute is not external.
+
+2010-02-24  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #582579
+       * decl.cs (IsExposedFromAssembly): Use PartialContainer for parent
+       modifiers.
+
+2010-02-24  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #581804
+       * ecore.cs: Fixed type comparison.
+
+2010-02-08  Miguel de Icaza  <miguel@novell.com>
+
+       * namespace.cs (CompletionGetTypesStartingWith): Do not include
+       private types in the completion results.
+
+       * cs-parser.jay: Bubble completions after "from x in ?" and "from x
+       ... let ?"
+
+2010-02-17  Marek Safar  <marek.safar@gmail.com>
+
+       * generic.cs, field.cs, decl.cs, cs-parser.jay: Simplify special
+       constraint parsing.
+
+2010-02-14  Miguel de Icaza  <miguel@novell.com>
+
+       * eval.cs: Do not do the report printer dance unless the user has
+       set the DescribeTypes feature.
+
+2010-02-10  Marek Safar  <marek.safar@gmail.com>
+
+       * argument.cs, dynamic.cs, expression.cs: Track RC API changes.
+
+2010-02-08  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #577029
+       * anonymous.cs: Fixed TypeBuilder* check.
+
+2010-02-06  Miguel de Icaza  <miguel@novell.com>
+
+       * eval.cs (CompileBlock): Also undo if there are problems during
+       semantic analysis, fixes various cases where invalid C# code would
+       be reported, but the internal changes would not be undone.
+
+2010-02-03  Miguel de Icaza  <miguel@novell.com>
+
+       * driver.cs: Change the --fatal flag to allow a number to be
+       passed, this ignores the first N fatal errors.   Useful to debug
+       errors that do not happen on the first hit.
+
+       * cs-parser.jay (invocation_expression): accept both the
+       CLOSE_PARENS and COMPLETE_COMPLETION, this allows completions
+       inside an invocation.
+
+       * driver.cs: Expose FatalErrors.
+
+       * eval.cs: Initialize the printer's Fatal property from the
+       Driver's FatalError flag, this allows csharp --fatal to work
+       again. 
+
+       Add support for calling Describe (typeof (TYPE)) if the expression
+       entered is a TYPE.
+       
+2010-02-02  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #574991
+       * rootcontext.cs, class.cs, driver.cs: Hide enhanced warnings behind
+       --lint.
+
+2010-02-02  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #575986
+       * expression.cs: Don't mutate typeof type definitions.
+
+2010-01-28  Marek Safar  <marek.safar@gmail.com>
+
+       * decl.cs: Use only one set of modifiers.
+
+2010-01-26  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #573329
+       * eval.cs: Don't disable error reporting completely on silent mode.
+       
+2010-01-25  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #573312
+       * constant.cs, expression.cs, ecore.cs: Emit correct offset for
+       pointer index of unknown size types greater than 2.
+
+2010-01-15  Marek Safar  <marek.safar@gmail.com>
+
+       * *.cs: Use only 1 member kind enum.
+
+2010-01-15  Marek Safar  <marek.safar@gmail.com>
+
+       * *.cs: Add event specification.
+
+2010-01-14  Marek Safar  <marek.safar@gmail.com>
+
+       * membercache.cs: Extracted from decl.cs.
+       
+       * *.cs: Put more infrastructure in place.
+
+2010-01-13  Marek Safar  <marek.safar@gmail.com>
+
+       * *.cs: Add property specification, unused yet.
+
+2010-01-13  Marek Safar  <marek.safar@gmail.com>
+
+       * property.cs: Move all property based declarations into a new file.
+
+2010-01-13  Marek Safar  <marek.safar at gmail.com>
+
+       * expression.cs (Conditional): Resolve reduced expression.
+
+2010-01-13  Marek Safar  <marek.safar at gmail.com>
+
+       * *.cs: Introduced non-generic method specification.
+
+2010-01-07  Marek Safar  <marek.safar@gmail.com>
+
+       * method.cs: Move all method based declarations into a new file.
+
+2010-01-07  Marek Safar  <marek.safar@gmail.com>
+
+       * *.cs: Extract field specification.
+
 2009-12-17  Marek Safar  <marek.safar@gmail.com>
 
        * field.cs: Extracted from class.cs