2005-12-07 Lluis Sanchez Gual <lluis@ximian.com>
[mono.git] / mcs / gmcs / ChangeLog
index 93797a307d8929b3a2c915131a5711a2b27ad837..6425688c3842800b73a605f57a8876ff16e181f0 100644 (file)
@@ -1,3 +1,362 @@
+2005-12-06  Raja R Harinath  <rharinath@novell.com>
+
+       * class.cs (MethodCore.CheckGenericOverride): Delete unused
+       abstract method and all overrides.
+       * support.cs (ParameterData.GenericConstraints): Delete.
+       (ReflectionParameters.type_params): Delete.
+       (ReflectionParameters.ReflectionParameters): Make private.
+       (ReflectionParameters.GetConstaints): New factory method.
+       * generic.cs (TypeParameterDefineType): Use it.
+       (TypeManager.GetTypeParameterConstraints): Likewise.
+
+2005-11-22  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #76783.
+       * class.cs (MethodData.Emit): Parameters should be labeled first.
+
+2005-11-21  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #76761.
+       * parameter.cs (Parameter.ApplyAttributeBuilder): Fixed `ref' detection.
+
+2005-11-18  Marek Safar  <marek.safar@seznam.cz>
+
+       * attribute.cs (AreParametersCompliant): Moved to Parameter.
+
+       * class.cs (MethodCore): Parameter clean up.
+       (IMethodData): Added ParameterInfo.
+       (MethodData): Parameter clean up.
+       (Indexer.Define): Parameter clean up.
+
+       * anonymous.cs,
+       * codegen.cs,
+       * cs-parser.jay,
+       * decl.cs,
+       * doc.cs,
+       * ecore.cs,
+       * flowanalysis.cs,
+       * iterators.cs,
+       * pending.cs,
+       * statement.cs,
+       * typemanager.cs: Parameter clean up.
+
+       * delegate.cs (Define): Get rid of duplicated code.
+
+       * expression.cs (ParameterReference): Removed useless parameters
+       and simplified.
+       (Invocation): Ditto.
+
+       * parameter.cs (ParamsParameter): New class, params specialization.
+       (ArglistParameter): Attemp to separate arglist.
+       (Parameter): Refactored to be reusable and faster.
+       (Parameter.Modifier): Made understandable.
+       (Parameters): Changed to be used as a class for `this' assembly
+       parameters. Refactored to use new specialized classes.
+
+       * support.cs (ParameterData): Added Types property.
+       (InternalParameters): Deleted.
+
+2005-11-16  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * doc.cs : the previous patch does not actually fix the bug.
+         PropertyInfo override check is now implemented and really fixed it.
+       * expression.cs : Invocation.IsAncestralType() is used from doc.cs.
+
+2005-11-16  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * doc.cs : apply "override filter" also to properties.
+         Fixed bug #76730.
+
+2005-11-16  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * doc.cs : renamed FindMembers() to FindMethodBase(). For interfaces,
+         no need to check overrides. For classes, omit those results from 
+         interfaces since they must exist in the class. Fixed bug #76726.
+
+2005-11-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * typemanager.cs : (GetFullNameSignature) differentiate indexers
+         with different parameters. Fixed the second problem in #76685.
+
+2005-11-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * doc.cs : (FindDocumentedMember) pass invocation_type as well (to
+         get expected 'protected' access in CheckValidFamilyAccess()).
+         Fixed bug #76692.
+
+2005-11-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * doc.cs : (GenerateTypeDocComment) Fields could be FixedField.
+         Fixed bug #76705.  CS1569 was incorrectly commented out.
+
+2005-11-23  Martin Baulig  <martin@ximian.com>
+
+       * generic.cs (Constraints.Define): Removed.
+       (TypeParameter.DefineConstraints): Removed.
+       (TypeParameter.DefineType): Call SetGenericParameterAttributes()
+       on the GenericTypeParameterBuilder here.
+
+2005-11-23  Martin Baulig  <martin@ximian.com>
+
+       * typemanager.cs (TypeManager.GetProperty): Make this public.
+
+       * generic.cs (Nullable.NullableInfo.ctor): Use
+       TypeManager.GetProperty() rather than using reflection directly.
+
+2005-11-17  Martin Baulig  <martin@ximian.com>
+
+       * expression.cs (Indexers.GetIndexersForType): Added support for
+       generic parameters; fixes #76587.
+
+2005-11-17  Martin Baulig  <martin@ximian.com>
+
+       * anonymous.cs
+       (CaptureContext.EmitMethodHostInstance): Use `Ldarg_0' if we
+       inherit the scope from our parent.  Fixes #76653.
+
+2005-11-15  Martin Baulig  <martin@ximian.com>
+
+       * anonymous.cs (ScopeInfo.ScopeType): New public field; use this
+       instead of `ScopeTypeBuilder' to refer to the "current" type.
+       (AnonymousMethod.CreateScopeType): Correctly create the helper
+       class if we're inside a generic type definition.
+
+2005-11-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * doc.cs : use Invocation.IsOverride() to do real override check.
+       * expression.cs : made Invocation.IsOverride() internal.
+
+2005-11-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * doc.cs : use TypeManager.FindMembers() instead of (possible)
+         TypeBuilder.FindMembers() and filter overriden base members out.
+         Fixed bug #76990.
+
+2005-11-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * doc.cs : ref/out parameters are represented as '@' (instead of
+         '&' in type FullName). Fixed bug #76630 (additionally crefs).
+
+2005-11-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * doc.cs : when there was no '.' in cref to methods in doc comment,
+         then parameters were missing in the output. Fixed bug #76691.
+
+2005-11-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * driver.cs : don't output docs when there is an error.
+         Fixed bug #76693.
+
+2005-11-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * doc.cs :
+         Now it should detect indexers. Fixed primary concern in bug #76685.
+         Fixed CS0419 message to not show the identical member signature in
+         the message.
+
+2005-11-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * doc.cs : (FindDocumentedMember) use TypeManager.MemberLookup()
+         instead of Type.FindMembers() since it does not handle events.
+         Fixed bug #71604.
+
+2005-11-12  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * codegen.cs: Fixed typo (speficied -> specified).
+
+2005-11-11  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #76369.
+       * doc.cs (FindDocumentedTypeNonArray): Don't resolve again.
+
+2005-11-11  Marek Safar  <marek.safar@seznam.cz>
+
+       * attribute.cs: Changed error message.
+
+       * cs-tokenizer.cs: One more check.
+
+2005-11-10  Marek Safar  <marek.safar@seznam.cz>
+
+       * statement.cs (Block.Resolve): Ignore empty statement.
+
+2005-11-10  Marek Safar  <marek.safar@seznam.cz>
+
+       * report.cs: Made error/warning methods more strict to avoid
+       their misuse.
+
+       * anonymous.cs, attribute.cs, class.cs, codegen.cs, constant.cs,
+       convert.cs, cs-parser.jay, cs-tokenizer.cs, decl.cs, delegate.cs,
+       doc.cs, driver.cs, ecore.cs, expression.cs, location.cs,
+       namespace.cs, parameter.cs, statement.cs, typemanager.cs: Updated.
+
+2005-11-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * codegen.cs (AssemblyClass.CheckInternalsVisibleAttribute): 
+       Use the more explicit AssemblyName.FullName instead of 
+       AssemblyName.Name to report errors.
+       
+2005-11-11  Marek Safar  <marek.safar@seznam.cz>
+
+       * attribute.cs, class.cs, cs-tokenizer.cs, parameter.cs: Sync
+       with mcs.
+
+2005-11-10  Marek Safar  <marek.safar@seznam.cz>
+
+       * class.cs,
+       * convert.cs,
+       * cs-parser.jay,
+       * decl.cs,
+       * enum.cs,
+       * expression.cs,
+       * generic.cs,
+       * pending.cs,
+       * report.cs: Fixed error reporting and typos.
+
+       * generic.cs (TypeParameter.GetSignatureForError): New method.
+       (ConstructedType.GetSignatureForError): Instead of DeclarationName.
+
+       * typemanager.cs (GetFullName): Refactored.
+
+2005-11-08  Marek Safar  <marek.safar@seznam.cz>
+
+       * attribute.cs (Attribute.GetCoClassAttributeValue): New method.
+       (AttributeTester.GetCoClassAttribute): Get CoClassAttribute.
+
+       * class.cs (TypeContainer.IsComImport): New property.
+       (Constructor.Define): Create proper ctor for ComImport types.
+
+       * expression.cs (New.CheckComImport): Fixed.
+
+2005-11-07  Miguel de Icaza  <miguel@novell.com>
+
+       * anonymous.cs (CaptureContext.AddParameterToContext): The fact
+       that a parameter has been captured does not mean that we do not
+       have to do the rest of the processing.  This fixes the second part
+       of #76592.  If there was another anonymous method capturing
+       values in the past, the Scope would never be set for the second
+       method that captured the same parameter.
+
+       (CaptureContext.EmitAssignParameter): When `leave_copy' is passed,
+       properly manipulate the stack.   Second part of fix for #76592.
+
+       * expression.cs (New): Add support for invoking "new" on
+       interfaces that have been flagged with the ComImport attribute and
+       the CoClass.  Fixes #76637 
+
+       * statement.cs (Try.DoEmit): When a variable is captured, do not
+       try to emit the vi.LocalBuilder variable as it has been captured.
+       Create a temporary variable and store the results on the
+       FieldBuilder.  Fixes #76642
+
+2005-11-07  Marek Safar  <marek.safar@seznam.cz>
+
+       * class.cs (CheckPairedOperators): Made compilable with csc 2.0.
+
+       * ecore.cs (InstanceResolve): Fixed CS1540 detection.
+
+       * expression.cs (Binary.DoResolve): Added && optimalization.
+    
+       * typemanager.cs (AddUserType): Removed useless argument.
+
+2005-11-04  Marek Safar  <marek.safar@seznam.cz>
+
+       * statement.cs (Block.variables): Uses ListDictionary.
+
+2005-11-03  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #75969.
+       * class.cs (PartialContainer.EmitType): Customized to emit
+       security attributes.
+       (ClassPart.ApplyAttributeBuilder): Transform security attribute
+       for partial classes.
+
+2005-11-03  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #76599.
+       * expression.cs (ElementAccess.DoResolveLValue): Fixed buffer
+       access has to be fixed.
+       
+       * typemanager.cs (IsUnmanagedType): Wrong common field type.
+
+2005-11-01  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #76590.
+       * ecore.cs (NullCast.Reduce): Implemented.
+
+       * expression.cs (ArrayCreation.CheckIndices): Correcly check
+       constant type.
+       
+       * statement.cs (SwitchLabel.ResolveAndReduce): Catch null
+       properly.
+       (Foreach.Resolve): Catch null properly.
+
+2005-10-29  Marek Safar  <marek.safar@seznam.cz>
+       * cs-tokenizer.cs: Warning text fix.
+
+       * driver.cs: AllWarningNumbers exposed on public interface.
+
+       * report.cs (): Reviewed warning numbers.
+       (IsValidWarning): Use binary search.
+
+2005-10-29  Marek Safar  <marek.safar@seznam.cz>
+       * driver.cs: Implemeted resource visibility.
+       (Resources): New class for code sharing between /res: and
+       /linkres:
+2005-11-07  Marek Safar  <marek.safar@seznam.cz>
+
+       decl.cs (CurrentTypeParameters): Fixed to be public.
+
+2005-11-07  Marek Safar  <marek.safar@seznam.cz>
+
+       generic.cs, rootcontext.cs: Removed NewConstraintAttribute.
+
+2005-11-07  Marek Safar  <marek.safar@seznam.cz>
+
+       gmcs.exe.sources: Use CryptoConvert.cs from corlib.
+
+2005-11-05  Kornél Pál  <kornelpal@hotmail.com>
+
+       * gmcs.exe.config: Updated runtime version to v2.0.50727 (2.0 RTM).
+
+2005-11-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       Add friend assembly access support.
+       * typemanager.cs: assembly_internals_vis_attrs
+       cache for friend assembly access. 
+       (TypeManager.IsFriendAssembly): New method for
+       checking friend assembly access.
+       (TypeManager.Error_FriendAccessNameNotMatching): New
+       helper method.
+       (TypeManager.CompareKeyTokens): Likewise.
+       (TypeManager.Filter): Handle friend accessible
+       members.
+
+       * namespace.cs (RootNamespace.GetTypeInAssembly): Return
+       friend accessible types.
+
+       * ecore.cs (Expression.IsAccessorAccessible): Handle
+       friend accessible properties.
+
+       * decl.cs (DeclSpace.CheckAccessLevel): Handle friend
+       accessible types.
+       
+2005-10-28  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #76568.
+       * cfold.cs (ConstantFold.BinaryFold): Implemented null cast
+       folding.
+       
+       * convert (Convert.ImplicitReferenceConversion): NullCast holds
+       contants only.
+       
+       * ecore.cs (NullCast): Child is contant only.
+       
+       * literal.cs (NullLiteral.Reduce): null can be converted to any
+       reference type.
+
 2005-10-28  Kornél Pál  <kornelpal@hotmail.com>
 
        * driver.cs: Use Encoding.Default as default code page instead