2008-06-27 Marek Safar <marek.safar@gmail.com>
[mono.git] / mcs / mcs / ChangeLog
index 685f8503e38a134673a664a3d95c649727c27f28..da7201bed1f5a9f813e84d2d9b06195817aab3e3 100644 (file)
@@ -1,3 +1,229 @@
+2008-06-27  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #401020
+       * ecore.cs: Both types and modifiers have to match for ref and out arguments
+
+2008-06-27  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #398319
+       * cs-parser.jay: Implemented undocumented base access expression inside
+       anonymous types.
+
+2008-06-26  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #404227
+       * cs-parser.jay: Parse namespace declaration using qualified identifier.
+
+2008-06-26  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #404227
+       * convert.cs: Fixed explicit array to interface cast.
+
+2008-06-26  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #403894
+       * delegate.cs: Mutate DelegateInvocation type.
+
+2008-06-26  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #379348
+       * delegate.cs: Box a load of generic parameters.
+
+2008-06-26  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs: Add an array creation arguments mutate.
+
+2008-06-26  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #386068
+       * anonymous.cs, expression.cs: Emit correctly hoisted expression tree
+       parameter.
+
+2008-06-25  Marek Safar  <marek.safar@gmail.com>
+
+       * ecore.cs, expression.cs: Fixed broken TypeCast clone, implemented few more
+       CloneTo.
+
+2008-06-25  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #403518
+       * delegate.cs: Type correctly anonymous method new invocation.
+
+2008-06-24  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #394826
+       * anonymous.cs: Fully qualify members when resolving anonymous type internal
+       calls.
+
+2008-06-24  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #394826
+       * anonymous.cs, iterators.cs: Construct generic storey only when is really
+       needed.
+
+2008-06-24  Marek Safar  <marek.safar@gmail.com>
+
+       * class.cs: Clone indexer parameters for localized capturing.
+
+2008-06-24  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #402379
+       * expression.cs: Don't crash when an object initializer resolve fails.
+
+2008-06-24  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #402888
+       * expression.cs: Mutate conditional expression.
+
+2008-06-24  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #401012
+       * class.cs: Keep StructLayout in shared container.
+
+2008-06-24  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #400438
+       * decl.cs, class.cs: Only properties can be automatically implemented.
+
+2008-06-24  Marek Safar  <marek.safar@gmail.com>
+
+       * statement.cs (ChangeToIterator): Copy also labels.
+
+2008-06-23  Marek Safar  <marek.safar@gmail.com>
+
+       * ecore.cs: Pass type argument details to parent extension method.
+
+2008-06-23  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #375966
+       * delegate.cs: Fixed IsTypeCovariant generic type conversions.
+
+2008-06-23  Raja R Harinath  <harinath@hurrynot.org>
+
+       * Makefile (bootstrap-libs): Pass NO_DIR_CHECK to sub-make.
+
+2008-06-22  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #394347
+       * anonymous.cs: Cache compatible delegates as compatibility check produces
+       a new method every time.
+
+2008-06-20  Marek Safar  <marek.safar@gmail.com>
+
+       * anonymous.cs: Propagate storey reference for single references.
+
+2008-06-20  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #387615
+       * assign.cs, expression.cs: Correctly clone compound assignment.
+
+2008-06-19  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #359611, #359604
+       * anonymous.cs: Mutate all types of hoisted parameters.
+
+2008-06-19  Marek Safar  <marek.safar@gmail.com>
+
+       * typemanager.cs, lambda.cs, parameter.cs, ecore.cs, linq.cs, class.cs
+       delegate.cs, iterators.cs, cs-parser.jay, assign.cs, anonymous.cs, driver.cs
+       expression.cs, codegen.cs, statement.cs
+       
+       Fixes bugs: #318652, #323223, #234779, #325069, #325476, #332532, #334465,
+       #345907, #349190, #353276, #355256, #359617, #378542, #384584, #396530
+       
+       ** Anonymous methods, lambda expressions rewrite **
+       
+       Anonymous expressions are now resolved when an explicit block is resolved 
+       and they don't require any registration procedure anymore. Further,
+       anonymous methods are defined when explicit block is emitted which allows
+       better control of whole process and opens possibilities for more
+       optimizations as well as alternative to reverse whole process.
+       
+       A concept of `MutateHoistedGenericType' was introduced to keep the resolve
+       process consistent and to correctly emit hoisted generic methods when they
+       have at least 1 hoisted variable.
+       
+2008-06-17  Martin Baulig  <martin@ximian.com>
+
+       * class.cs: Also emit the `[DebuggerHidden]' attribute on the main
+       iterator method.
+       (AbstractPropertyEventMethod.IsDebuggerHidden): New protected
+       virtual property; check it in Emit().
+       (PropertyMethod.IsDebuggerHidden): Override, check whether we're
+       an iterator.
+       (MethodOrOperator.ResolveMethods): Set `DEBUGGER_HIDDEN' if we're
+       an iterator.
+       (Indexer.Define): Likewise.
+
+2008-06-17  Marek Safar  <marek.safar@gmail.com>
+
+       * convert.cs: Don't use IsInterface on type arguments.
+       
+       * delegate.cs: DelegateInvocation uses MethodInfo.
+       
+       * parameter.cs: Removed IsTypeParameter.
+       
+       * generic-mcs.cs: More missing stuff.
+
+2008-06-16  Martin Baulig  <martin@ximian.com>
+
+       * modifiers.cs
+       (Modifiers.DEBUGGER_HIDDEN): New public const.
+
+       * typemanager.cs
+       (TypeManager.GetDebuggerHiddenAttribute): New public static method.
+
+       * class.cs
+       (MethodOrOperator.Emit): Check `Modifiers.DEBUGGER_HIDDEN'.
+       (AbstractPropertyEventMethod): Likewise.
+       (Constructor.Emit): Likewise.
+       (SourceMethod.SetCompilerGenerated): Removed.
+
+       * iterator.cs: Set `Modifiers.DEBUGGER_HIDDEN' everywhere except
+       on MoveNext().
+
+       * anonymous.cs
+       (RootScopeInfo.DoDefineMembers): Set `Modifiers.DEBUGGER_HIDDEN'
+       if we're an `IteratorHost'.
+       (AnonymousMethodMethod..ctor): Don't set
+       `Modifiers.COMPILER_GENERATED'; csc only sets this on the class,
+       not on the method.
+
+2008-06-16  Marek Safar  <marek.safar@gmail.com>
+
+       * statement.cs: Clean-up foreach statements.
+
+2008-06-12  Marek Safar  <marek.safar@gmail.com>
+
+       * class.cs: Stop using public method which should not exist.
+
+2008-06-11  Martin Baulig  <martin@ximian.com>
+
+       * location.cs
+       (Location.LookupFile): Add `CompilationUnit' argument; when given
+       a relative file name, make it relative to the directory the .cs
+       file is located in instead of using the current directory.
+
+2008-06-11  Martin Baulig  <martin@ximian.com>
+
+       * class.cs
+       (IMethodData.EmitExtraSymbolInfo): Added `SourceMethod' argument.
+       (MethodOrOperator.EmitExtraSymbolInfo): Likewise.
+       (SourceMethod.SetRealMethodName): Moved here from the symbol writer.
+       (SourceMethod.SetCompilerGenerated): Likewise.
+
+2008-06-11  Marek Safar  <marek.safar@gmail.com>
+
+       * codegen.cs, driver: Only write symbol file when it's asked for.
+
+2008-06-11  Marek Safar  <marek.safar@gmail.com>
+
+       * codegen.cs: Don't use assembly writer error handling for symbol writer.
+
+2008-06-10  Martin Baulig  <martin@ximian.com>
+
+       * symbolwriter.cs: Reflect latest MarkSequencePoint() API changes.
+
 2008-06-09  Marek Safar  <marek.safar@gmail.com>
 
        A fix for bug #316290