+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.
+