2005-08-20 Martin Baulig <martin@ximian.com>
[mono.git] / mcs / mcs / ChangeLog
index 754b9b6772fafe2e2be74d7e7881ec070decdd8e..3ca6b4275663d3d7a6835ee02ffc00fbe19bab83 100644 (file)
-2005-06-30  Marek Safar  <marek.safar@seznam.cz>
+2005-08-20  Martin Baulig  <martin@ximian.com>
 
-       Fix #75322
-       * class.cs (FieldBase.GetInitializerExpression): One more field
-       for backup.
+       * anonymous.cs (CaptureContext.CaptureThis): Create the topmost
+       scope if we don't already have it.
+
+       * expression.cs (Invocation.EmitCall): Use `ec.EmitThis ()' rather
+       than `ig.Emit (OpCodes.Ldarg_0)' to make it work inside iterators;
+       fixes #75867.
 
-2005-06-29  Marek Safar  <marek.safar@seznam.cz>
+2005-08-17  Marek Safar  <marek.safar@seznam.cz>
 
-       The big error and warning messages review.
+       Fix #75803
+       * decl.cs (DeclSpace.VerifyClsCompliance): Skip when collision object
+       is a partial class.
+
+2005-08-16  Marek Safar  <marek.safar@seznam.cz>
+
+       The big constants rewrite
+       Fix #75746, #75685 and more
+       As a side effect saved 1MB for MWF ;-)
        
-       * anonymous.cs,
-       * assign.cs,
-       * attribute.cs,
+       * attribute.cs (GetAttributeArgumentExpression): Use ToType, GetTypedValue.
+       (GetMarshal, GetMethodImplOptions, GetLayoutKindValue): Values are not
+       enum based for corlib compilation.
+       
+       * cfold.cs (BinaryFold): Convert operand for enum additions. Fixed enum
+       subtractions.
+       
+       * class.cs (FixedField.Define): Use ResolveAsConstant.
+       
+       * const.cs (IConstant): Interface constants and enums.
+       (Const.ResolveValue): New method for constant resolvning.
+       (ExternalConstant): Constants from imported assemblies.
+       
+       * constant.cs (Constant.GetTypedValue): Used to get constant with forced
+       conversion; like enums.
+       (Constant.ToType): Converts this constant to different type.
+       (Constant.Increment): Adds 1.
+       
+       * convert.cs (ImplicitConversionRequired): Simplified.
+       
+       * cs-parser.jay: Create EnumMember directly.
+       
+       * decl.cs (MemberCore.CheckObsoleteness): Checks for ObsoleteAttribute presence.
+       
+       * doc.cs (GenerateEnumDocComment): Removed.
+       
+       * ecore.cs (Expression.ResolveAsConstant): New constant specific method.
+       (ConvertIntLiteral): Removed.
+       (FieldExpr.ResolveMemberAccess): Refactored to remove constant specific if(s).
+       
+       * enum.cs (EnumMember): Implement IConstant.
+       (Enum.IsValidEnumConstant): Removed.
+       (Enum.GetNextDefaultValue): Removed.
+       (Enum.FindMembers): Updated.
+       (Enum.GenerateDocComment): Iterate enum members.
+       
+       * expression.cs (Cast.TryReduce): Handle enums correctly.
+       (New.Constantify): Made public.
+       (MemberAccess.DoResolve): Removed contant specific if(s).
+       
+       * literal.cs (NullLiteral): Implement new abstract methods.
+       
+       * statement.cs (GotoCase.Resolve): Use new constant methods.
+       (SwitchLabel.ResolveAndReduce): Use new constant methods.
+       
+       * typemanager.cs (LookupEnum): Removed.
+       (IsEnumType): Fixed to work with corlib.
+       (RegisterConstant): Removed.
+       (LookupConstant): Removed.
+       (GetConstant): Changed to work with IConstant.
+
+2005-08-04  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * location.cs : Fixed overflown (>255) column number.
+
+2005-08-03  Raja R Harinath  <rharinath@novell.com>
+
+       First cut of the qualified-alias-member feature.
+       * cs-tokenizer.cs (Tokenizer.is_punct): Recognize the double-colon
+       token.
+       * cs-parser.jay (DOUBLE_COLON): New token.
+       (namespace_or_type_name): Add rule for recognizing
+       qualified-alias-members.
+       (primary_expression): Likewise.
+       (element_access): Allow QualifiedAliasMember as a possible
+       type-bearing expression.
+       (local_variable_type, local_variable_pointer_type): Likewise.
+       * namespace.cs (NamespaceEntry.LookupAlias): New.  Looks up
+       aliases in the current and enclosing namespace declarations.
+       (NamespaceEntry.UsingAlias): Add CS0440 warning.
+       * decl.cs (MemberName.is_double_colon): New.
+       (MemberName.MemberName): Add new constructor for alias-member.
+       (MemberName.GetTypeExpression): Generate QualifiedAliasMember too.
+       * expression.cs (QualifiedAliasMember): New expression type.
+
+2005-08-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * location.cs : it borked when no argument was specified.
+
+2005-08-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * location.cs : tiny ToString() format fix.
+
+2005-08-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * statement.cs : oops, it was missing.
+
+2005-08-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       A set of fixes for precise line/column location.
+
+       * location.cs :
+         "token" field now holds a file/line "delta", a line number offset 
+         from the segment, and a column number. See also:
+         http://lists.ximian.com/pipermail/mono-devel-list/2004-
+         December/009508.html
+         Removed static IsNull. Use instance IsNull property instead.
+       * cs-tokenizer.cs :
+         For some tokens it stores Location. For Identifier it stores
+         LocatedToken which is a pair of string name and location.
+         Column numbers are adjusted only at getChar().
+       * report.cs :
+         Use Location.ToString() for reporting (it now contains column).
+       * cs-parser.jay :
+         Largely modified to use LocatedToken instead of
+         string (IDENTIFIER), and to acquire Location from some tokens.
+       * namespace.cs, decl.cs, ecore.cs, class.cs, delegate.cs,
+         iterators.cs, const.cs, anonymous.cs, tree.cs, enum.cs,
+         codegen.cs :
+         Now MemberName holds Location. DeclSpace.ctor() receives Location
+         as a parameter. Removed extra parameters to all derived classes.
+         Replaced Location.IsNull() with instance property.
+       * assign.cs, expression.cs :
+         Added .ctor() overload that omits Location.
+       * attribute.cs :
+         Added "nameEscaped" flag that indicates the identifier was escaped
+         in the source file. This fixes bug #57047.
+
+2005-08-02  Marek Safar  <marek.safar@seznam.cz>
+
+       * attribute.cs (AttributeTester.GetImportedIgnoreCaseClsType):
+       New method, looking for lo-case imported cls type.
+
+       * decl.cs (DeclSpace.VerifyClsCompliance): Check CS3005 for types
+       here.
+
+       * driver.cs: Removed VerifyTopLevelNameClsCompliance usage.
+
+       * enum (Enum.VerifyClsCompliance): Hardcode non-compliant types.
+
+       * typemanager.cs (TypeManager.AllClsTopLevelTypes): Renamed from
+       all_imported_types.
+       (TypeManager.LoadAllImportedTypes): Lo-case imported types.
+
+       Optimized to save 3.5 MB for SWF compilation.
+
+2005-08-01  Marek Safar  <marek.safar@seznam.cz>
+
+       * class.cs (AddToTypeContainer): Use inheritance insted of if(s).
+       (PartialContainer.Create): Moved logic AddToContainer.
+       (PartialContainer.MarkForDuplicationCheck): Shares name.
+       
+       * decl.cs (DeclSpace.AddToContainer): Check name collisions at one
+       place.
+       
+       * namespace.cs (Namespace.AddDeclSpace): Lazy declspaces
+       initialization.
+       (Namespace.GetSignatureForError): New method.
+       
+       * tree.cs (Tree.RecordDecl): Moved to AddToContainer.
+       (RootTypes.AddToTypeContainer): se inheritance insted of if(s).
+
+2005-08-01  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #75669.
+       * ecore.cs (Expression.MemberLookupFailed): Use queried_type for
+       member lookup rather than qualifier_type, since qualifier_type can
+       be null.
+
+2005-08-01  Marek Safar  <marek.safar@seznam.cz>
+
+       * enum.cs (Enum.VerifyClsName): Fixed to allow not CLSCompliant
+       enum member.
+
+2005-07-31  Miguel de Icaza  <miguel@novell.com>
+
+       * statement.cs: Copy the local exception into the exception
+       captured local.  Fixes 75674
+
+2005-07-31  Raja R Harinath  <harinath@gmail.com>
+
+       Fix #75658.
+       * expression.cs (Invocation.OverloadResolve): Don't report error
+       CS1501 if error CS1502 has been reported.
+       (New.DoResolve): Delegate CS1501 reporting to
+       Invocation.OverloadResolve.
+
+       Fix #75656.
+       * statement.cs (Block.CheckInvariantMeaningInBlock): Verify
+       invariant-meaning-in-block property in an enclosing block if
+       necessary.
+
+2005-07-29  Marek Safar  <marek.safar@seznam.cz>
+
+       * statement.cs (SwitchLabel.ResolveAndReduce): Refactored.
+       (SwitchLabel.Erorr_AlreadyOccurs): Share error message.
+       (Switch.CheckSwitch): Just save 50kb for SWF.
+
+2005-07-27  Martin Baulig  <martin@ximian.com>
+
+       * anonymous.cs (CaptureContext.AddField): Added
+       `AnonymousContainer am' argument; compute its toplevel scope if
+       it's not already computed.  Fixes #75649.
+
+2005-07-26  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #75628.
+       * class.cs (Constructor.Emit): Reset block to null if the block
+       resolve fails.
+
+2005-07-25  Marek Safar  <marek.safar@seznam.cz>
+
+       * class.cs (TypeContainer.VerifyMembers): Be compatible in warning 169.
+
+2005-07-25  Marek Safar  <marek.safar@seznam.cz>
+
+       * class.cs (MethodData.Define): Check whether accessor implementing
+       interface is public.
+
+       * driver.cs (Driver.parse): Try to be smart and check for `MZ' header.
+
+2005-07-22  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #57245
+       * namespace.cs (LookupType): Moved same type check to...
+       
+       * typemanager.cs (LookupTypeReflection): Don't allow to import more types
+       with the same name.
+
+2005-07-21  Raja R Harinath  <rharinath@novell.com>
+
+       * namespace.cs (NamespaceLookupType): Avoid a string allocation when we
+       already found a typebuilder.
+       * class.cs (MethodCore.IsDuplicateImplementation): Compare
+       MemberNames, not strings.
+
+       * const.cs (Error_ExpressionMustBeConst): 
+       Rename from Error_EpressionMustBeConst.
+       * const.cs, class.cs, statement.cd: Update.
+
+2005-07-21  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #65573
+
+       * const.cs (Const.LookupConstantValue): Report missing contant expression
+       everytime.
+       (Error_EpressionMustBeConstant): Only one error method.
+
+       * class.cs, statement.c: Updated.
+
+2005-07-20  Raja R Harinath  <rharinath@novell.com>
+
+       * statement.cs (Block.Flags): Add back HasVarargs.
+       (Block.flags): Make protected.
+       (ToplevelBlock.HasVarargs): Convert to a property that updates flags.
+
+       * typemanager.cs (types, typecontainers, user_types): Remove.
+       (UserTypes, TypeContainers): Likewise.
+       (HandleDuplicate, AddDelegateType, AddEnumType): Likewise.
+       (CleanUp, Reset): Update.
+       (AddUserType): Combine variants.  Now, only updates builder_to_declspace.
+       (GetNestedType): Use Type.GetNestedType.
+       (CoreLookupType): Take two arguments, the namespace and the
+       basename of the type.  Update to use the Namespace.Lookup
+       mechanism.
+       (InitEnumUnderlyingTypes, InitCoreTypes): Update.
+       (RealMemberLookup): Use IsNestedChildOf instead of playing with
+       string concatenation and substring matches.
+       * class.cs, enum.cs, delegate.cs: Update to changes.
+
+2005-07-20  Marek Safar  <marek.safar@seznam.cz>
+
+       * constant.cs (Constant.Error_ConstantValueCannotBeConverted): Moved from
+       Expression and made virtual.
+
+       * convert.cs (ImplicitReferenceConversionExists): Skip for value types.
+       (ImplicitStandardConversionExists): Fixed `byte' typo ?
+
+       * ecore.cs (Expression.Error_ConstantValueCannotBeConverted): Moved.
+
+       * literal.cs (NullLiteral.Error_ConstantValueCannotBeConverted): Customize
+       error message.
+
+       * convert.cs, ecore.cs, enum.cs: Reflect Error_ConstantValueCannotBeConverted
+       change.
+
+2005-07-18  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #57707
+       * codegen.cs (AssemblyClass.ApplyAttributeBuilder): Check whether
+       AssemblyCultureAttribute is not used on executable.
+
+       * rootcontext.cs,
+       * typemanager.cs: Add System.Reflection.AssemblyCultureAttribute.
+
+2005-07-16  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #60638.
+       * expression.cs (Binary.Warning_UnintendeReferenceComparison):
+       New.  Reports CS0252/CS0253.
+       Mostly taken from preliminary patch by Duncak Mak.
+       (Binary.DoResolveOperator): Store results of operator lookup.
+       Use them to detect if we need to warn about unintended reference
+       comparisons.
+
+2005-07-15  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #72969.
+       * namespace.cs (Namespace.Lookup): Add back location parameter.
+       (Namespace.LookupType): Add CS0436 report.  Add location parameter.
+       * delegate.cs, ecore.cs, expression.cs: Update to changes.
+
+       * codegen.cs (EmitContext.DeclSpace): Make readonly.
+       * namespace.cs (Namespace.Lookup): Carve out type lookup into ...
+       (Namespace.LookupType): ... this.
+       (NamespaceEntry.GetUsingTable): Allocate only one zero-sized array
+       of namespaces.
+       * typemanager.cs (LookupTypeReflection): Remove buggy code that
+       purported to handle pointers.
+       (char_ptr_type, void_ptr_type): Use GetPointerType rather than
+       CoreLookupType.
+
+2005-07-15  Marek Safar  <marek.safar@seznam.cz>
+
+       * expression.cs (MemberAccess.ResolveNamespaceOrType): Don't report nested
+       type as namespace.
+
+2005-07-15  Raja R Harinath  <rharinath@novell.com>
+
+       * namespace.cs (Namespace.Lookup): Drop location parameter.
+       (NamespaceEntry.LookupAlias): Remove.  Merge into ...
+       (NamespaceEntry.Lookup): ... this.
+       (NamespaceEntry.Error_AmbiguousTypeReference):
+       Move here from DeclSpace.
+       (NamespaceEntry.LookupNamespaceOrType): Move support for dotted
+       names ...
+       * ecore.cs (TypeLookupExpression.DoResolveAsTypeStep): ... here.
+       * decl.cs (DeclSpace.ErrorAmbiguousTypeReference):
+       Move to NamespaceEntry.
+       * delegate.cs, expression.cs: Update to changes.
+
+2005-07-14  Marek Safar  <marek.safar@seznam.cz>
+
+       * attribute.cs (Attribute.ResolveAttributeType): Renamed from
+       CheckAttributeType and refactored.
+       (Attribute.ResolvePossibleAttributeType): Changed to reuse
+       ResolveAsTypeTerminal error handling.
+       (ResolveAsTypeTerminal): Introduced because of global attributes extra
+       handling.
+       (GetSignatureForError): Print errors in same way.
+
        * class.cs,
-       * codegen.cs,
-       * convert.cs,
-       * cs-parser.jay,
-       * cs-tokenizer.cs,
-       * decl.cs,
-       * delegate.cs,
-       * doc.cs,
-       * driver.cs,
+       * codegen.cs: Reflect attribute GetSignatureForError change.
+
        * ecore.cs,
-       * enum.cs,
-       * expression.cs,
-       * flowanalysis.cs,
-       * iterators.cs,
-       * literal.cs,
-       * location.cs,
-       * modifiers.cs,
-       * namespace.cs,
-       * parameter.cs,
-       * pending.cs,
-       * report.cs,
-       * rootcontext.cs,
-       * statement.cs,
-       * support.cs,
-       * tree.cs,
-       * typemanager.cs: Updated.
+       * expression.cs: Add silent parameter to ResolveAsTypeStep.
+
+       * namespace.cs (UsingEntry): Refactored to make fields private.
+
+       * assign.cs,
+       statement.cs: Error_UnexpectedKind has extra parameter.
+
+2005-07-14  Raja R Harinath  <rharinath@novell.com>
+
+       * ecore.cs (IAlias): Remove.
+       * decl.cs (DeclSpace): Don't derive from IAlias.  Remove members
+       that implement the interface.
+       * namespace.cs (Namespace): Likewise.
+       (Namespace.declspaces): Renamed from 'defined_names'.
+       (Namespace.AddDeclSpace): Renamed from 'DefineName'.  Take a
+       DeclSpace instead of an IAlias.
+       * tree.cs (Tree.AddDecl): Update.
+
+2005-07-12  Raja R Harinath  <rharinath@novell.com>
+
+       * statement.cs (Block.Flags); Remove HasVarargs.
+       (Block.HasVarargs): Move to ToplevelBlock.
+       (Block.ThisVariable, Block.AddThisVariable): Likewise.
+       (Block.Variables): Make protected.  Initialize variable hashtable
+       if necessary.
+       (Block.AddVariable): Update.
+       (Block.Resolve): Update to changes.
+       (ToplevelBlock.HasVarargs): New boolean.
+       (ToplevelBlock.ThisVariable): Move here from Block.
+       (ToplevelBlock.AddThisVariable): Likewise.
+       (ToplevelBlock.IsThisAssigned): New.  Forwards call to this_variable.
+       * expression.cs (This.ResolveBase): Update to changes.
+       (ArglistAccess.DoResolve): Likewise.
+
+2005-07-11  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #75321
+       * ecore.cs, class.cs: Use SetAssigned instead of direct access.
+
+       * class.cs (TypeContainer.VerifyMembers): Distinguish between
+       not used and not used & assigned.
+       (FieldBase.ASSIGNED): Moved to MemberCore.Flags.
+
+2005-07-11  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #75053
+       * expression.cs (Is.DoResolve): null is never provided type.
+
+2005-07-08  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #52496
+       * cs-parser.jay: Less strict event error rule to catch more errors.
+
+2005-07-08  Martin Baulig  <martin@ximian.com>
+
+       Fix test-iter-10.cs - distinguish whether we `yield' in a property
+       gettter (allowed) or setter (not allowed).
+
+       * class.cs (Accessor): Implement IIteratorContainer.
+       (Accessor.Yields): New public field.
+       (PropertyBase.PropertyMethod.Define): Handle iterators on a
+       per-accessor basis.
+
+       * cs-parser.jay
+       (get_accessor_declaration, set_accessor_declaration): Set the
+       `yields' flag on the accessor, not the property.
+       (property_declaration): Do the iterators check on a per-accessor
+       basis and not for the whole property.
+
+2005-07-08  Martin Baulig  <martin@ximian.com>
+
+       * anonymous.cs (CaptureContext.EmitParameterInstance): Correctly
+       handle parameters in nested scopes; fixes #74808; see gtest-188.cs.
+
+2005-07-07  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #74975
+       * attribute.cs (orig_sec_assembly): Holds original version of assembly.
+       (ExtractSecurityPermissionSet): Cope with self referencing security
+       attributes properly.
+
+       * driver.cs (SetOutputFile): Made public property OutputFile.
+
+2005-07-07  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #75486.
+       * class.cs (TypeContainer.first_nonstatic_field): Rename from
+       has_nonstatic_fields.  Make into a FieldBase pointer.
+       (TypeContainer.AddField): Add CS0282 check.
+       (TypeContainer.EmitType): Update.
+
+2005-07-06  Miguel de Icaza  <miguel@novell.com>
+
+       * cs-tokenizer.cs (consume_identifier): Do not create strings to
+       compare if they start with __.
+
+2005-07-06  Raja R Harinath  <rharinath@novell.com>
+
+       * statement.cs (Switch.SwitchGoverningType): Only look at
+       UserCasts that don't need implicit standard conversions to one of
+       the allowed switch types (Fixes test-322.cs).
+       (LocalInfo.Resolve): Re-enable sanity-test.
+
+2005-07-06  Marek Safar  <marek.safar@seznam.cz>
+
+       * cs-tokenizer.cs (consume_identifier): Detect double undescores
+       
+       * ecore.cs (FieldExpr.AddressOf): Changed volatile error to warning.
+       
+       * expression.cs (Invocation.DoResolve): Report error CS0245 here.
+
+2005-07-06  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #75472.
+       * ecore.cs (SimpleName.GetSignatureForError): Add.
+       * expression.cs (MemberAccess.DoResolve): Don't clobber 'expr' field.
+       (MemberAccess.GetSignatureForError): Add.
+
+2005-07-05  Marek Safar  <marek.safar@seznam.cz>
+       The big error and warning messages review.
+       
+       * anonymous.cs,
+       * assign.cs,
+       * attribute.cs,
+       * class.cs,
+       * codegen.cs,
+       * convert.cs,
+       * cs-parser.jay,
+       * cs-tokenizer.cs,
+       * decl.cs,
+       * delegate.cs,
+       * doc.cs,
+       * driver.cs,
+       * ecore.cs,
+       * enum.cs,
+       * expression.cs,
+       * flowanalysis.cs,
+       * iterators.cs,
+       * literal.cs,
+       * location.cs,
+       * modifiers.cs,
+       * namespace.cs,
+       * parameter.cs,
+       * pending.cs,
+       * report.cs,
+       * rootcontext.cs,
+       * statement.cs,
+       * support.cs,
+       * tree.cs,
+       * typemanager.cs: Updated.
+       
+       * class.cs: (MethodCore.SetYields): Moved here to share.
+       (PropertyMethod.Define): Moved iterator setup here.
+       
+       * iterators.cs: Add orig_method to have full access to parent
+       container.
+
+2005-07-05  Raja R Harinath  <rharinath@novell.com>
+
+       Make 'fixed variable' handling standards compliant. Fix #70807, #72729.
+       * ecore.cs (IVariable.VerifyFixed): Remove 'is_expression' parameter.
+       (FieldExpr.VerifyFixed): Ensure that the field is part of a fixed
+       variable of struct type.
+       * expression.cs (Unary.ResolveOperator): Update to change.
+       (Indirection.VerifyFixed): Likewise.
+       (LocalVariableReference.VerifyFixed): A local variable is always fixed.
+       (ParameterReference.VerifyFixed): Value parameters are fixed.
+       (This.VerifyFixed): Treat 'this' as a value parameter.
+       * statement.cs (LocalInfo.IsFixed): Remove.
+
+2005-07-01  Martin Baulig  <martin@ximian.com>
+
+       * iterators.cs (Iterator.CapturedThisReference.Emit): Use
+       `ec.EmitThis ()' to get the correct scope.
+
+2005-07-01  Martin Baulig  <martin@ximian.com>
+
+       * ecore.cs (FieldExpr.DoResolve): Don't capture the field if it's
+       instance is a ParameterReference; fixes #75299.
+
+2005-07-01  Martin Baulig  <martin@ximian.com>
+
+       Reverted Marek's latest patch (r46725):
+       - it contains structural changes which are neither mentioned in
+         the ChangeLog nor explained anywhere; for example the additional
+         argument of EmitContext's and Iterator's .ctor's and the
+         TypeContainer.DefineMembers() change.
+       - structural changes like this should go in in seperate patches
+         and not be hidden in a huge patch which just seems to affect
+         warnings and errors.
+         a big and hard to understand patch.
+       - it breaks iterators and causes regressions, for instance in
+         test-iter-03.cs.      
+
+2005-06-30  Raja R Harinath  <rharinath@novell.com>
+
+       Fix #75412.
+       * expression.cs (Indexers.map): Remove.
+       (Indexers.Append): Filter out inaccessible setters and getters.
+       (IndexerAccess.DoResolve, IndexerAccess.DoResolveLValue): Update.
+
+       Fix #75283.
+       * ecore.cs (MemberExpr.EmitInstance): New.  Add CS0120 check.
+       Refactored from ...
+       (FieldExpr.EmitInstance, PropertyExpr.EmitInstance): ... these.
+       (FieldExpr.Emit, PropertyExpr.Emit): Update.
+       (FieldExpr.EmitAssign, PropertyExpr.EmitAssign): Update.
+       * expression.cs (Invocation.EmitCall): Add CS0120 check.
+
+2005-06-30  Marek Safar  <marek.safar@seznam.cz>
+
+       Fix #75322
+       * class.cs (FieldBase.GetInitializerExpression): One more field
+       for backup.
 
 2005-06-28  Miguel de Icaza  <miguel@novell.com>