X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fmcs%2FChangeLog;h=f563112e707c1b89f2d367e3badb5a3b0e1b9355;hb=e9d574a27901e00b97f941cc62c4b5181a495447;hp=1f7539200afefc5a90df9b77fbaeb038b2edc8ba;hpb=999e71586636324daba2bd85b1109547c4b01641;p=mono.git diff --git a/mcs/mcs/ChangeLog b/mcs/mcs/ChangeLog index 1f7539200af..f563112e707 100755 --- a/mcs/mcs/ChangeLog +++ b/mcs/mcs/ChangeLog @@ -1,3 +1,127 @@ +2002-09-20 Miguel de Icaza + + * ecore.cs (StoreFromPtr): Use TypeManager.IsEnumType instad of IsEnum + + * decl.cs (FindType): Sorry about this, fixed the type lookup bug. + +2002-09-19 Miguel de Icaza + + * class.cs (TypeContainer.DefineType): We can not use the nice + PackingSize with the size set to 1 DefineType method, because it + will not allow us to define the interfaces that the struct + implements. + + This completes the fixing of bug 27287 + + * ecore.cs (Expresion.ImplicitReferenceConversion): `class-type S' + means also structs. This fixes part of the problem. + (Expresion.ImplicitReferenceConversionExists): ditto. + + * decl.cs (DeclSparce.ResolveType): Only report the type-not-found + error if there were no errors reported during the type lookup + process, to avoid duplicates or redundant errors. Without this + you would get an ambiguous errors plus a type not found. We have + beaten the user enough with the first error. + + (DeclSparce.FindType): Emit a warning if we have an ambiguous + reference. + + * ecore.cs (SimpleName.DoResolveType): If an error is emitted + during the resolution process, stop the lookup, this avoids + repeated error reports (same error twice). + + * rootcontext.cs: Emit a warning if we have an ambiguous reference. + + * typemanager.cs (LookupType): Redo the type lookup code to match + the needs of System.Reflection. + + The issue is that System.Reflection requires references to nested + types to begin with a "+" sign instead of a dot. So toplevel + types look like: "NameSpace.TopLevelClass", and nested ones look + like "Namespace.TopLevelClass+Nested", with arbitrary nesting + levels. + +2002-09-19 Martin Baulig + + * codegen.cs (EmitContext.EmitTopBlock): If control flow analysis + says that a method always returns or always throws an exception, + don't report the CS0161. + + * statement.cs (FlowBranching.UsageVector.MergeChildren): Always + set `Returns = new_returns'. + +2002-09-19 Martin Baulig + + * expression.cs (MemberAccess.ResolveMemberAccess): When resolving + to an enum constant, check for a CS0176. + +2002-09-18 Miguel de Icaza + + * class.cs (TypeContainer.CheckPairedOperators): Now we check + for operators that must be in pairs and report errors. + + * ecore.cs (SimpleName.DoResolveType): During the initial type + resolution process, when we define types recursively, we must + check first for types in our current scope before we perform + lookups in the enclosing scopes. + + * expression.cs (MakeByteBlob): Handle Decimal blobs. + + (Invocation.VerifyArgumentsCompat): Call + TypeManager.TypeToCoreType on the parameter_type.GetElementType. + I thought we were supposed to always call this, but there are a + few places in the code where we dont do it. + +2002-09-17 Miguel de Icaza + + * driver.cs: Add support in -linkres and -resource to specify the + name of the identifier. + +2002-09-16 Miguel de Icaza + + * ecore.cs (StandardConversionExists): Sync with the conversion + code: allow anything-* to void* conversions. + + (FindMostSpecificSource): Use an Expression argument + instead of a Type, because we might be handed over a Literal which + gets a few more implicit conversions that plain types do not. So + this information was being lost. + + Also, we drop the temporary type-holder expression when not + required. + +2002-09-17 Martin Baulig + + * class.cs (PropertyBase.CheckBase): Don't check the base class if + this is an explicit interface implementation. + +2002-09-17 Martin Baulig + + * class.cs (PropertyBase.CheckBase): Make this work for indexers with + different `IndexerName' attributes. + + * expression.cs (BaseIndexerAccess): Rewrote this class to use IndexerAccess. + (IndexerAccess): Added special protected ctor for BaseIndexerAccess and + virtual CommonResolve(). + +2002-09-16 Miguel de Icaza + + * enum.cs (LookupEnumValue): Use the EnumConstant declared type, + and convert that to the UnderlyingType. + + * statement.cs (Foreach.Resolve): Indexers are just like variables + or PropertyAccesses. + + * cs-tokenizer.cs (consume_string): Track line numbers and columns + inside quoted strings, we were not doing this before. + +2002-09-16 Martin Baulig + + * ecore.cs (MethodGroupExpr.DoResolve): If we have an instance expression, + resolve it. This is needed for the definite assignment check of the + instance expression, fixes bug #29846. + (PropertyExpr.DoResolve, EventExpr.DoResolve): Likewise. + 2002-09-16 Nick Drochak * parameter.cs: Fix compile error. Cannot reference static member