[csdoc-patches] CVS: csdoc/src/csdoc AssemblyInfo.cs,1.1,1.2 ChangeLog,1.1,1.2 driver.cs,1.1,1.2
Status: Planning
Brought to you by:
mastergaurav
|
From: Gaurav V. <mas...@us...> - 2003-02-19 14:05:30
|
Update of /cvsroot/csdoc/csdoc/src/csdoc
In directory sc8-pr-cvs1:/tmp/cvs-serv12037
Modified Files:
AssemblyInfo.cs ChangeLog driver.cs
Log Message:
2003-02-19
* driver.cs : Remove bogus part.
* AssemblyInfo.cs : Updated for csdoc.
Index: AssemblyInfo.cs
===================================================================
RCS file: /cvsroot/csdoc/csdoc/src/csdoc/AssemblyInfo.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AssemblyInfo.cs 19 Feb 2003 05:50:11 -0000 1.1
+++ AssemblyInfo.cs 19 Feb 2003 14:05:25 -0000 1.2
@@ -1,8 +1,10 @@
using System.Reflection;
using System.Runtime.CompilerServices;
-[assembly: AssemblyVersion("0.19.1")]
-[assembly: AssemblyTitle ("Mono C# Compiler")]
-[assembly: AssemblyDescription ("Mono C# Compiler")]
-[assembly: AssemblyCopyright ("2001, 2002 Ximian, Inc.")]
-[assembly: AssemblyCompany ("Ximian, Inc.")]
+[assembly: AssemblyVersion("0.2.*")]
+[assembly: AssemblyFileVersion("0.2.0")]
+[assembly: AssemblyTitle ("C# Document Generator")]
+[assembly: AssemblyDescription ("C# Document Generator")]
+[assembly: AssemblyCopyright ("(C) 2003, Gaurav Vaish")]
+[assembly: AssemblyCompany ("http://csdoc.sourceforge.net/")]
+[assembly: AssemblyProduct("CSDoc")]
Index: ChangeLog
===================================================================
RCS file: /cvsroot/csdoc/csdoc/src/csdoc/ChangeLog,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ChangeLog 19 Feb 2003 05:50:11 -0000 1.1
+++ ChangeLog 19 Feb 2003 14:05:25 -0000 1.2
@@ -1,3 +1,9 @@
+
+2003-02-19 Gaurav Vaish <mastergaurav AT users DOT sf DOT net>
+
+ * driver.cs : Remove bogus part.
+ * AssemblyInfo.cs : Updated for csdoc.
+
2003-02-19 Gaurav Vaish <mastergaurav AT users DOT sf DOT net>
* cs-parser.jay,
@@ -6,10730 +12,6 @@
* decl.cs,
* driver.cs : Modifying mcs to my suite.
-2003-02-12 Miguel de Icaza <mi...@xi...>
-
- * ecore.cs (FieldExpr.AddressOf): In the particular case of This
- and structs, we do not want to load the instance variable
-
- (ImplicitReferenceConversion, ImplicitReferenceConversionExists):
- enum_type has to be handled like an object reference (implicit
- conversions exists from this to object), but the regular IsClass
- and IsValueType tests will never return true for this one.
-
- Also we use TypeManager.IsValueType instead of type.IsValueType,
- just for consistency with the rest of the code (this is only
- needed if we ever use the construct exposed by test-180.cs inside
- corlib, which we dont today).
-
-2003-02-12 Zoltan Varga <va...@fr...>
-
- * attribute.cs (ApplyAttributes): apply all MethodImplAttributes, not
- just InternalCall.
-
-2003-02-09 Martin Baulig <ma...@xi...>
-
- * namespace.cs (Namespace..ctor): Added SourceFile argument.
- (Namespace.DefineNamespaces): New static public method; this is
- called when we're compiling with debugging to add all namespaces
- to the symbol file.
-
- * tree.cs (Tree.RecordNamespace): Added SourceFile argument and
- pass it to the Namespace's .ctor.
-
- * symbolwriter.cs (SymbolWriter.OpenMethod): Added TypeContainer
- and MethodBase arguments; pass the namespace ID to the symwriter;
- pass the MethodBase instead of the token to the symwriter.
- (SymbolWriter.DefineNamespace): New method to add a namespace to
- the symbol file.
-
-2003-02-09 Martin Baulig <ma...@xi...>
-
- * symbolwriter.cs: New file. This is a wrapper around
- ISymbolWriter with a cleaner API. We'll dynamically Invoke()
- methods here in near future.
-
-2003-02-09 Martin Baulig <ma...@xi...>
-
- * codegen.cs (EmitContext.Mark): Just pass the arguments to
- ILGenerator.MarkSequencePoint() which are actually used by the
- symbol writer.
-
-2003-02-09 Martin Baulig <ma...@xi...>
-
- * location.cs (SourceFile): New public sealed class. This
- contains the name and an index which is used in the location's token.
- (Location): Reserve an appropriate number of bits in the token for
- the source file instead of walking over that list, this gives us a
- really huge performance improvement when compiling with debugging.
-
- * driver.cs (Driver.parse, Driver.tokenize_file): Take a
- `SourceFile' argument instead of a string.
- (Driver.ProcessFile): Add all the files via Location.AddFile(),
- but don't parse/tokenize here, we need to generate the list of all
- source files before we do that.
- (Driver.ProcessFiles): New static function. Parses/tokenizes all
- the files.
-
- * cs-parser.jay (CSharpParser): Take a `SourceFile' argument
- instead of a string.
-
- * cs-tokenizer.cs (Tokenizer): Take `SourceFile' argument instead
- of a string.
-
-2003-02-09 Martin Baulig <ma...@xi...>
-
- * cs-tokenizer.cs (Tokenizer.PreProcessLine): Also reset the
- filename on `#line default'.
-
-Sat Feb 8 17:03:16 CET 2003 Paolo Molaro <lu...@xi...>
-
- * statement.cs: don't clear the pinned var when the fixed statement
- returns from the method (fixes bug#37752).
-
-Sat Feb 8 12:58:06 CET 2003 Paolo Molaro <lu...@xi...>
-
- * typemanager.cs: fix from ma...@my... (Marcus Urban)
- to IsValueType.
-
-2003-02-07 Martin Baulig <ma...@xi...>
-
- * driver.cs: Removed the `--debug-args' command line argument.
-
- * codegen.cs (CodeGen.SaveSymbols): Removed, this is now done
- automatically by the AsssemblyBuilder.
- (CodeGen.InitializeSymbolWriter): We don't need to call any
- initialization function on the symbol writer anymore. This method
- doesn't take any arguments.
-
-2003-02-03 Miguel de Icaza <mi...@xi...>
-
- * driver.cs: (AddAssemblyAndDeps, LoadAssembly): Enter the types
- from referenced assemblies as well.
-
-2003-02-02 Martin Baulig <ma...@xi...>
-
- * class.cs (MethodData.Emit): Generate debugging info for external methods.
-
-2003-02-02 Martin Baulig <ma...@xi...>
-
- * class.cs (Constructor.Emit): Open the symbol writer before
- emitting the constructor initializer.
- (ConstructorInitializer.Emit): Call ec.Mark() to allow
- single-stepping through constructor initializers.
-
-2003-01-30 Miguel de Icaza <mi...@xi...>
-
- * class.cs: Handle error 549: do not allow virtual methods in
- sealed classes.
-
-2003-02-01 Jackson Harper <ja...@la...>
-
- * decl.cs: Check access levels when resolving types
-
-2003-01-31 Jackson Harper <ja...@la...>
-
- * statement.cs: Add parameters and locals set in catch blocks that might
- return to set vector
-
-2003-01-29 Miguel de Icaza <mi...@xi...>
-
- * class.cs (Operator): Set the SpecialName flags for operators.
-
- * expression.cs (Invocation.DoResolve): Only block calls to
- accessors and operators on SpecialName methods.
-
- (Cast.TryReduce): Handle conversions from char constants.
-
-
-Tue Jan 28 17:30:57 CET 2003 Paolo Molaro <lu...@xi...>
-
- * statement.cs: small memory and time optimization in FlowBranching.
-
-2003-01-28 Pedro Mart <yo...@wa...>
-
- * expression.cs (IndexerAccess.DoResolveLValue): Resolve the same
- problem that the last fix but in the other sid (Set).
-
- * expression.cs (IndexerAccess.DoResolve): Fix a problem with a null
- access when there is no indexer in the hierarchy.
-
-2003-01-27 Jackson Harper <ja...@la...>
-
- * class.cs: Combine some if statements.
-
-2003-01-27 Gonzalo Paniagua Javier <go...@xi...>
-
- * driver.cs: fixed bug #37187.
-
-2003-01-27 Pedro Martinez Juliá <yo...@wa...>
-
- * expression.cs (IndexerAccess.DoResolve): Before trying to resolve
- any indexer, it's needed to build a list with all the indexers in the
- hierarchy (AllGetters), else we have problems. Fixes #35653.
-
-2003-01-23 Miguel de Icaza <mi...@xi...>
-
- * class.cs (MethodData.Define): It is wrong for an interface
- implementation to be static in both cases: explicit and implicit.
- We were only handling this in one case.
-
- Improve the if situation there to not have negations.
-
- * class.cs (Field.Define): Turns out that we do not need to check
- the unsafe bit on field definition, only on usage. Remove the test.
-
-2003-01-22 Gonzalo Paniagua Javier <go...@xi...>
-
- * driver.cs: use assembly.Location instead of Codebase (the latest
- patch made mcs fail when using MS assemblies).
-
-2003-01-21 Tim Haynes <th...@op...>
-
- * driver.cs: use DirectorySeparatorChar instead of a hardcoded "/" to
- get the path to *corlib.dll.
-
-2003-01-21 Nick Drochak <ndr...@go...>
-
- * cs-tokenizer.cs:
- * pending.cs:
- * typemanager.cs: Remove compiler warnings
-
-2003-01-20 Duncan Mak <du...@xi...>
-
- * AssemblyInfo.cs: Bump the version number to 0.19.
-
-2003-01-20 Gonzalo Paniagua Javier <go...@xi...>
-
- * cs-tokenizer.cs: little fixes to line numbering when #line is used.
-
-2003-01-18 Zoltan Varga <va...@fr...>
-
- * class.cs (Constructor::Emit): Emit debugging info for constructors.
-
-2003-01-17 Miguel de Icaza <mi...@xi...>
-
- * cs-parser.jay: Small fix: we were not comparing the constructor
- name correctly. Thanks to Zoltan for the initial pointer.
-
-2003-01-16 Jackson Harper <ja...@la...>
-
- * cs-tokenizer.cs: Set file name when specified with #line
-
-2003-01-15 Miguel de Icaza <mi...@xi...>
-
- * cs-parser.jay: Only perform the constructor checks here if we
- are named like the class; This will help provider a better
- error. The constructor path is taken when a type definition is
- not found, but most likely the user forgot to add the type, so
- report that rather than the constructor error.
-
-Tue Jan 14 10:36:49 CET 2003 Paolo Molaro <lu...@xi...>
-
- * class.cs, rootcontext.cs: small changes to avoid unnecessary memory
- allocations.
-
-2003-01-13 Jackson Harper <ja...@la...>
-
- * cs-parser.jay: Add cleanup call.
-
-2003-01-13 Duncan Mak <du...@xi...>
-
- * cs-tokenizer.cs (Cleanup): Rename to 'cleanup' to make it more
- consistent with other methods.
-
-2003-01-13 Jackson Harper <ja...@la...>
-
- * cs-tokenizer.cs: Add Cleanup method, also fix #region error messages.
-
-Sun Jan 12 19:58:42 CET 2003 Paolo Molaro <lu...@xi...>
-
- * attribute.cs: only set GuidAttr to true when we have a
- GuidAttribute.
-
-2003-01-09 Gonzalo Paniagua Javier <go...@xi...>
-
- * ecore.cs:
- * expression.cs:
- * typemanager.cs: fixes to allow mcs compile corlib with the new
- Type.IsSubclassOf fix.
-
-2003-01-08 Miguel de Icaza <mi...@xi...>
-
- * expression.cs (LocalVariableReference.DoResolve): Classify a
- constant as a value, not as a variable. Also, set the type for
- the variable.
-
- * cs-parser.jay (fixed_statement): take a type instead of a
- pointer_type, so we can produce a better error message later.
-
- * statement.cs (Fixed.Resolve): Flag types that are not pointers
- as an error.
-
- (For.DoEmit): Make inifinite loops have a
- non-conditional branch back.
-
- (Fixed.DoEmit): First populate the pinned variables, then emit the
- statement, then clear the variables. Before I was emitting the
- code once for each fixed piece.
-
-
-2003-01-08 Martin Baulig <ma...@xi...>
-
- * statement.cs (FlowBranching.MergeChild): A break in a
- SWITCH_SECTION does not leave a loop. Fixes #36155.
-
-2003-01-08 Martin Baulig <ma...@xi...>
-
- * statement.cs (FlowBranching.CheckOutParameters): `struct_params'
- lives in the same number space than `param_map'. Fixes #36154.
-
-2003-01-07 Miguel de Icaza <mi...@xi...>
-
- * cs-parser.jay (constructor_declaration): Set the
- Constructor.ModFlags before probing for it. This makes the
- compiler report 514, 515 and 132 (the code was there, but got
- broken).
-
- * statement.cs (Goto.Resolve): Set `Returns' to ALWAYS.
- (GotoDefault.Resolve): Set `Returns' to ALWAYS.
- (GotoCase.Resolve): Set `Returns' to ALWAYS.
-
-Tue Jan 7 18:32:24 CET 2003 Paolo Molaro <lu...@xi...>
-
- * enum.cs: create the enum static fields using the enum type.
-
-Tue Jan 7 18:23:44 CET 2003 Paolo Molaro <lu...@xi...>
-
- * class.cs: don't try to create the ParamBuilder for the return
- type if it's not needed (and handle it breaking for the ms runtime
- anyway).
-
-2003-01-06 Jackson Harper <ja...@la...>
-
- * cs-tokenizer.cs: Add REGION flag to #region directives, and add checks to make sure that regions are being poped correctly
-
-2002-12-29 Miguel de Icaza <mi...@xi...>
-
- * cs-tokenizer.cs (get_cmd_arg): Fixups to allow \r to terminate
- the command. This showed up while compiling the JANET source
- code, which used \r as its only newline separator.
-
-2002-12-28 Miguel de Icaza <mi...@xi...>
-
- * class.cs (Method.Define): If we are an operator (because it
- reuses our code), then set the SpecialName and HideBySig. #36128
-
-2002-12-22 Miguel de Icaza <mi...@xi...>
-
- * ecore.cs (FieldExpr.DoResolve): Instead of throwing an
- exception, report error 120 `object reference required'.
-
- * driver.cs: Add --pause option, used during to measure the size
- of the process as it goes with --timestamp.
-
- * expression.cs (Invocation.DoResolve): Do not allow methods with
- SpecialName to be invoked.
-
-2002-12-21 Miguel de Icaza <mi...@xi...>
-
- * cs-tokenizer.cs: Small fix to the parser: compute the ascii
- number before adding it.
-
-2002-12-21 Ravi Pratap <ra...@xi...>
-
- * ecore.cs (StandardImplicitConversion): When in an unsafe
- context, we allow conversion between void * to any other pointer
- type. This fixes bug #35973.
-
-2002-12-20 Jackson Harper <ja...@la...>
-
- * codegen.cs: Use Path.GetFileNameWithoutExtension so an exception
- is not thrown when extensionless outputs are used
-
-2002-12-20 Gonzalo Paniagua Javier <go...@xi...>
-
- * rootcontext.cs: fixed compilation of corlib.
-
-2002-12-19 Miguel de Icaza <mi...@xi...>
-
- * attribute.cs (Attributes.Contains): Add new method.
-
- * class.cs (MethodCore.LabelParameters): if the parameter is an
- `out' parameter, check that no attribute `[In]' has been passed.
-
- * enum.cs: Handle the `value__' name in an enumeration.
-
-2002-12-14 Jaroslaw Kowalski <ja...@at...>
-
- * decl.cs: Added special case to allow overrides on "protected
- internal" methods
-
-2002-12-18 Ravi Pratap <ra...@xi...>
-
- * attribute.cs (Attributes.AddAttributeSection): Rename to this
- since it makes much more sense.
-
- (Attributes.ctor): Don't require a Location parameter.
-
- * rootcontext.cs (AddGlobalAttributeSection): Rename again.
-
- * attribute.cs (ApplyAttributes): Remove extra Location parameters
- since we already have that information per attribute.
-
- * everywhere : make appropriate changes.
-
- * class.cs (LabelParameters): Write the code which actually
- applies attributes to the return type. We can't do this on the MS
- .NET runtime so we flag a warning in the case an exception is
- thrown.
-
-2002-12-18 Miguel de Icaza <mi...@xi...>
-
- * const.cs: Handle implicit null conversions here too.
-
-2002-12-17 Ravi Pratap <ra...@xi...>
-
- * class.cs (MethodCore.LabelParameters): Remove the extra
- Type [] parameter since it is completely unnecessary. Instead
- pass in the method's attributes so that we can extract
- the "return" attribute.
-
-2002-12-17 Miguel de Icaza <mi...@xi...>
-
- * cs-parser.jay (parse): Use Report.Error to flag errors instead
- of ignoring it and letting the compile continue.
-
- * typemanager.cs (ChangeType): use an extra argument to return an
- error condition instead of throwing an exception.
-
-2002-12-15 Miguel de Icaza <mi...@xi...>
-
- * expression.cs (Unary.TryReduce): mimic the code for the regular
- code path. Perform an implicit cast in the cases where we can
- implicitly convert to one of the integral types, and then reduce
- based on that constant. This fixes bug #35483.
-
-2002-12-14 Gonzalo Paniagua Javier <go...@xi...>
-
- * typemanager.cs: fixed cut & paste error in GetRemoveMethod.
-
-2002-12-13 Gonzalo Paniagua Javier <go...@xi...>
-
- * namespace.cs: fixed bug #35489.
-
-2002-12-12 Miguel de Icaza <mi...@xi...>
-
- * class.cs: Remove some dead code.
-
- * cs-parser.jay: Estimate the number of methods needed
- (RootContext.MethodCount);
-
- * cs-tokenizer.cs: Use char arrays for parsing identifiers and
- numbers instead of StringBuilders.
-
- * support.cs (PtrHashtable): Add constructor with initial size;
- We can now reduce reallocations of the method table.
-
-2002-12-10 Ravi Pratap <ra...@xi...>
-
- * attribute.cs (ApplyAttributes): Keep track of the emitted
- attributes on a per-target basis. This fixes bug #35413.
-
-2002-12-10 Miguel de Icaza <mi...@xi...>
-
- * driver.cs (MainDriver): On rotor encoding 28591 does not exist,
- default to the Windows 1252 encoding.
-
- (UnixParseOption): Support version, thanks to Alp for the missing
- pointer.
-
- * AssemblyInfo.cs: Add nice assembly information.
-
- * cs-tokenizer.cs: Add fix from Felix to the #if/#else handler
- (bug 35169).
-
- * cs-parser.jay: Allow a trailing comma before the close bracked
- in the attribute_section production.
-
- * ecore.cs (FieldExpr.AddressOf): Until I figure out why the
- address of the instance was being taken, I will take this out,
- because we take the address of the object immediately here.
-
-2002-12-09 Ravi Pratap <ra...@xi...>
-
- * typemanager.cs (AreMultipleAllowed): Take care of the most
- obvious case where attribute type is not in the current assembly -
- stupid me ;-)
-
-2002-12-08 Miguel de Icaza <mi...@xi...>
-
- * ecore.cs (SimpleName.DoResolve): First perform lookups on using
- definitions, instead of doing that afterwards.
-
- Also we use a nice little hack, depending on the constructor, we
- know if we are a "composed" name or a simple name. Hence, we
- avoid the IndexOf test, and we avoid
-
- * codegen.cs: Add code to assist in a bug reporter to track down
- the source of a compiler crash.
-
-2002-12-07 Ravi Pratap <ra...@xi...>
-
- * attribute.cs (Attribute.ApplyAttributes) : Keep track of which attribute
- types have been emitted for a given element and flag an error
- if something which does not have AllowMultiple set is used more
- than once.
-
- * typemanager.cs (RegisterAttributeAllowMultiple): Keep track of
- attribute types and their corresponding AllowMultiple properties
-
- (AreMultipleAllowed): Check the property for a given type.
-
- * attribute.cs (Attribute.ApplyAttributes): Register the AllowMultiple
- property in the case we have a TypeContainer.
-
- (Attributes.AddAttribute): Detect duplicates and just skip on
- adding them. This trivial fix catches a pretty gross error in our
- attribute emission - global attributes were being emitted twice!
-
- Bugzilla bug #33187 is now fixed.
-
-2002-12-06 Miguel de Icaza <mi...@xi...>
-
- * cs-tokenizer.cs (pp_expr): Properly recurse here (use pp_expr
- instead of pp_and).
-
- * expression.cs (Binary.ResolveOperator): I can only use the
- Concat (string, string, string) and Concat (string, string,
- string, string) if the child is actually a concatenation of
- strings.
-
-2002-12-04 Miguel de Icaza <mi...@xi...>
-
- * cs-tokenizer.cs: Small fix, because decimal_digits is used in a
- context where we need a 2-character lookahead.
-
- * pending.cs (PendingImplementation): Rework so we can keep track
- of interface types all the time, and flag those which were
- implemented by parents as optional.
-
-2002-12-03 Miguel de Icaza <mi...@xi...>
-
- * expression.cs (Binary.ResolveOperator): Use
- String.Concat(string,string,string) or
- String.Concat(string,string,string,string) when possible.
-
- * typemanager: More helper methods.
-
-
-Tue Dec 3 19:32:04 CET 2002 Paolo Molaro <lu...@xi...>
-
- * pending.cs: remove the bogus return from GetMissingInterfaces()
- (see the 2002-11-06 entry: the mono runtime is now fixed in cvs).
-
-2002-12-02 Gonzalo Paniagua Javier <go...@xi...>
-
- * namespace.cs: avoid duplicated 'using xxx' being added to
- using_clauses. This prevents mcs from issuing and 'ambiguous type' error
- when we get more than one 'using' statement for the same namespace.
- Report a CS0105 warning for it.
-
-2002-11-30 Miguel de Icaza <mi...@xi...>
-
- * cs-tokenizer.cs (consume_identifier): use read directly, instead
- of calling getChar/putback, uses internal knowledge of it.
-
- (xtoken): Reorder tokenizer so most common patterns are checked
- first. This reduces the compilation time in another 5% (from 8.11s
- average to 7.73s for bootstrapping mcs on my Mobile p4/1.8ghz).
-
- The parsing time is 22% of the compilation in mcs, and from that
- 64% is spent on the tokenization process.
-
- I tried using a binary search for keywords, but this is slower
- than the hashtable. Another option would be to do a couple of
- things:
-
- * Not use a StringBuilder, instead use an array of chars,
- with a set value. Notice that this way we could catch
- the 645 error without having to do it *afterwards*.
-
- * We could write a hand-parser to avoid the hashtable
- compares altogether.
-
- The identifier consumption process takes 37% of the tokenization
- time. Another 15% is spent on is_number. 56% of the time spent
- on is_number is spent on Int64.Parse:
-
- * We could probably choose based on the string length to
- use Int32.Parse or Int64.Parse and avoid all the 64-bit
- computations.
-
- Another 3% is spend on wrapping `xtoken' in the `token' function.
-
- Handle 0xa0 as whitespace (#34752)
-
-2002-11-26 Miguel de Icaza <mi...@xi...>
-
- * typemanager.cs (IsCLRType): New routine to tell whether a type
- is one of the builtin types.
-
- Maybe it needs to use TypeCodes to be faster. Maybe we could use
- typecode in more places instead of doing pointer comparissions.
- We could leverage some knowledge about the way the typecodes are
- laid out.
-
- New code to cache namespaces in assemblies, it is currently not
- invoked, to be used soon.
-
- * decl.cs (DeclSpace.MakeFQN): Simple optimization.
-
- * expression.cs (Binary.ResolveOperator): specially handle
- strings, and do not perform user-defined operator overloading for
- built-in types.
-
-2002-11-24 Miguel de Icaza <mi...@xi...>
-
- * cs-tokenizer.cs: Avoid calling Char.IsDigit which is an
- internalcall as it is a pretty simple operation; Avoid whenever
- possible to call Char.IsLetter.
-
- (consume_identifier): Cut by half the number of
- hashtable calls by merging the is_keyword and GetKeyword behavior.
-
- Do not short-circuit, because if we do, we
- report errors (ie, #if false && true would produce an invalid
- directive error);
-
-
-2002-11-24 Martin Baulig <ma...@xi...>
-
- * expression.cs (Cast.TryReduce): If we're in checked syntax,
- check constant ranges and report a CS0221. Fixes #33186.
-
-2002-11-24 Martin Baulig <ma...@xi...>
-
- * cs-parser.jay: Make this work for uninitialized variable
- declarations in the `for' initializer. Fixes #32416.
-
-2002-11-24 Martin Baulig <ma...@xi...>
-
- * ecore.cs (Expression.ConvertExplicit): Make casting from/to
- System.Enum actually work. Fixes bug #32269, added verify-6.cs.
-
-2002-11-24 Martin Baulig <ma...@xi...>
-
- * expression.cs (Binary.DoNumericPromotions): Added `check_user_conv'
- argument; if true, we also check for user-defined conversions.
- This is only needed if both arguments are of a user-defined type.
- Fixes #30443, added test-175.cs.
- (Binary.ForceConversion): Pass the location argument to ConvertImplicit.
-
- * ecore.cs (Expression.ImplicitUserConversionExists): New method.
-
-2002-11-24 Martin Baulig <ma...@xi...>
-
- * expression.cs (ArrayAccess.GetStoreOpcode): New public static
- function to get the store opcode.
- (Invocation.EmitParams): Call ArrayAccess.GetStoreOpcode() and
- only emit the Ldelema if the store opcode is Stobj. You must run
- both test-34 and test-167 to test this. Fixes #34529.
-
-2002-11-23 Martin Baulig <ma...@xi...>
-
- * ecore.cs (Expression.MemberLookup): Added additional
- `qualifier_type' argument which is used when we're being called
- from MemberAccess.DoResolve() and null if we're called from a
- SimpleName lookup.
- (Expression.MemberLookupFailed): New method to report errors; this
- does the CS1540 check and reports the correct error message.
-
- * typemanager.cs (MemberLookup): Added additional `qualifier_type'
- argument for the CS1540 check and redone the way how we're dealing
- with private members. See the comment in the source code for details.
- (FilterWithClosure): Reverted this back to revision 1.197; renamed
- `closure_start_type' to `closure_qualifier_type' and check whether
- it's not null. It was not this filter being broken, it was just
- being called with the wrong arguments.
-
- * expression.cs (MemberAccess.DoResolve): use MemberLookupFinal()
- and pass it the correct `qualifier_type'; this also does the error
- handling for us.
-
-2002-11-22 Miguel de Icaza <mi...@xi...>
-
- * expression.cs (Invocation.EmitParams): If the we are dealing
- with a non-built-in value type, load its address as well.
-
- (ArrayCreation): Use a a pretty constant instead
- of the hardcoded value 2. Use 6 instead of 2 for the number of
- static initializers.
-
- (ArrayCreation.EmitDynamicInitializers): Peel enumerations,
- because they are not really value types, just glorified integers.
-
- * driver.cs: Do not append .exe, the CSC compiler does not do it.
-
- * ecore.cs: Remove redundant code for enumerations, make them use
- the same code path as everything else, fixes the casting issue
- with enumerations in Windows.Forms.
-
- * attribute.cs: Do only cast to string if it is a string, the
- validation happens later.
-
- * typemanager.cs: Temproary hack to avoid a bootstrap issue until
- people upgrade their corlibs.
-
- * ecore.cs: Oops, enumerations were not following the entire code path
-
-2002-11-21 Miguel de Icaza <mi...@xi...>
-
- * typemanager.cs (FilterWithClosure): Commented out the test for
- 1540 in typemanager.cs, as it has problems when accessing
- protected methods from a parent class (see test-174.cs).
-
- * attribute.cs (Attribute.ValidateGuid): new method.
- (Attribute.Resolve): Use above.
-
-2002-11-19 Miguel de Icaza <mi...@xi...>
-
- * enum.cs: In FindMembers, perform a recursive lookup for values. (34308)
-
- * ecore.cs (SimpleName.SimpleNameResolve): Remove the special
- handling for enumerations, as we only needed the TypeContainer
- functionality to begin with (this is required for the fix below to
- work for enums that reference constants in a container class for
- example).
-
- * codegen.cs (EmitContext): Make TypeContainer a DeclSpace.
-
- * enum.cs (Enum.Define): Use `this' instead of parent, so we have
- a valid TypeBuilder to perform lookups on.o
-
- * class.cs (InheritableMemberSignatureCompare): Use true in the
- call to GetGetMethod and GetSetMethod, because we are comparing
- the signature, and we need to get the methods *even* if they are
- private.
-
- (PropertyBase.CheckBase): ditto.
-
- * statement.cs (Switch.ResolveAndReduce, Block.EmitMeta,
- GotoCase.Resolve): Use Peel on EmpytCasts.
-
- * ecore.cs (EmptyCast): drop child, add Peel method.
-
-2002-11-17 Martin Baulig <ma...@xi...>
-
- * ecore.cs (EmptyCast.Child): New public property.
-
- * statement.cs (SwitchLabel.ResolveAndReduce): Check whether the
- label resolved to an EmptyCast. Fixes #34162.
- (GotoCase.Resolve): Likewise.
- (Block.EmitMeta): Likewise.
-
-2002-11-17 Martin Baulig <ma...@xi...>
-
- * expression.cs (Invocation.BetterConversion): Prefer int over
- uint; short over ushort; long over ulong for integer literals.
- Use ImplicitConversionExists instead of StandardConversionExists
- since we also need to check for user-defined implicit conversions.
- Fixes #34165. Added test-173.cs.
-
-2002-11-16 Martin Baulig <ma...@xi...>
-
- * expression.cs (Binary.EmitBranchable): Eliminate comparisions
- with the `true' and `false' literals. Fixes #33151.
-
-2002-11-16 Martin Baulig <ma...@xi...>
-
- * typemanager.cs (RealMemberLookup): Reverted Miguel's patch from
- October 22nd; don't do the cs1540 check for static members.
-
- * ecore.cs (PropertyExpr.ResolveAccessors): Rewrote this; we're
- now using our own filter here and doing the cs1540 check again.
-
-2002-11-16 Martin Baulig <ma...@xi...>
-
- * support.cs (InternalParameters): Don't crash if we don't have
- any fixed parameters. Fixes #33532.
-
-2002-11-16 Martin Baulig <ma...@xi...>
-
- * decl.cs (MemberCache.AddMethods): Use BindingFlags.FlattenHierarchy
- when looking up static methods to make this work on Windows.
- Fixes #33773.
-
-2002-11-16 Martin Baulig <ma...@xi...>
-
- * ecore.cs (PropertyExpr.VerifyAssignable): Check whether we have
- a setter rather than using PropertyInfo.CanWrite.
-
-2002-11-15 Nick Drochak <ndr...@go...>
-
- * class.cs: Allow acces to block member by subclasses. Fixes build
- breaker.
-
-2002-11-14 Martin Baulig <ma...@xi...>
-
- * class.cs (Constructor.Emit): Added the extern/block check.
- Fixes bug #33678.
-
-2002-11-14 Martin Baulig <ma...@xi...>
-
- * expression.cs (IndexerAccess.DoResolve): Do a DeclaredOnly
- iteration while looking for indexers, this is needed because the
- indexer may have a different name in our base classes. Fixed the
- error reporting (no indexers at all, not get accessor, no
- overloaded match). Fixes bug #33089.
- (IndexerAccess.DoResolveLValue): Likewise.
-
-2002-11-14 Martin Baulig <ma...@xi...>
-
- * class.cs (PropertyBase.CheckBase): Make this work for multiple
- indexers. Fixes the first part of bug #33089.
- (MethodSignature.InheritableMemberSignatureCompare): Added support
- for properties.
-
-2002-11-13 Ravi Pratap <ra...@xi...>
-
- * attribute.cs (Attribute.Resolve): Catch the
- NullReferenceException and report it since it isn't supposed to
- happen.
-
-2002-11-12 Miguel de Icaza <mi...@xi...>
-
- * expression.cs (Binary.EmitBranchable): Also handle the cases for
- LogicalOr and LogicalAnd that can benefit from recursively
- handling EmitBranchable. The code now should be nice for Paolo.
-
-2002-11-08 Miguel de Icaza <mi...@xi...>
-
- * typemanager.cs (LookupType): Added a negative-hit hashtable for
- the Type lookups, as we perform quite a number of lookups on
- non-Types. This can be removed once we can deterministically tell
- whether we have a type or a namespace in advance.
-
- But this might require special hacks from our corlib.
-
- * TODO: updated.
-
- * ecore.cs (TryImplicitIntConversion): Handle conversions to float
- and double which avoids a conversion from an integer to a double.
-
- * expression.cs: tiny optimization, avoid calling IsConstant,
- because it effectively performs the lookup twice.
-
-2002-11-06 Miguel de Icaza <mi...@xi...>
-
- But a bogus return here to keep the semantics of the old code
- until the Mono runtime is fixed.
-
- * pending.cs (GetMissingInterfaces): New method used to remove all
- the interfaces that are already implemented by our parent
- classes from the list of pending methods.
-
- * interface.cs: Add checks for calls after ResolveTypeExpr.
-
-2002-11-05 Miguel de Icaza <mi...@xi...>
-
- * class.cs (Class.Emit): Report warning 67: event not used if the
- warning level is beyond 3.
-
- * ecore.cs (Expression.ConvertExplicit): Missed a check for expr
- being a NullLiteral.
-
- * cs-parser.jay: Fix, Gonzalo reverted the order of the rank
- specifiers.
-
- * class.cs (TypeContainer.GetClassBases): Cover a missing code
- path that might fail if a type can not be resolved.
-
- * expression.cs (Binary.Emit): Emit unsigned versions of the
- operators.
-
- * driver.cs: use error 5.
-
-2002-11-02 Gonzalo Paniagua Javier <go...@gn...>
-
- * cs-parser.jay: simplified a rule and 5 SR conflicts dissapeared.
-
-2002-11-01 Miguel de Icaza <mi...@xi...>
-
- * cs-parser.jay (switch_section): A beautiful patch from Martin
- Baulig that fixed 33094.
-
-2002-10-31 Miguel de Icaza <mi...@xi...>
-
- * ecore.cs (PropertyExpr.DoResolveLValue, PropertyExpr.DoResolve):
- Check whether the base is abstract and report an error if so.
-
- * expression.cs (IndexerAccess.DoResolveLValue,
- IndexerAccess.DoResolve): ditto.
-
- (Invocation.DoResolve): ditto.
-
- (Invocation.FullMethodDesc): Improve the report string.
-
- * statement.cs (Block): Eliminate IsVariableDefined as it is
- basically just a wrapper for GetVariableInfo.
-
- * ecore.cs (SimpleName): Use new
-
- * support.cs (ReflectionParamter.ParameterType): We unwrap the
- type, as we return the actual parameter ref/unref state on a
- different call.
-
-2002-10-30 Miguel de Icaza <mi...@xi...>
-
- * support.cs: Return proper flags REF/OUT fixing the previous
- commit.
-
- * expression.cs: Reverted last patch, that was wrong. Is_ref is
- not used to mean `ref' but `ref or out' in ParameterReference
-
- * delegate.cs (FullDelegateDesc): use ParameterDesc to get the
- full type signature instead of calling TypeManger.CSharpName
- ourselves.
-
- * support.cs (InternalParameters.ParameterDesc): Do not compare
- directly to the modflags, because REF/OUT will actually be bitsets
- if set.
-
- * delegate.cs (VerifyMethod): Check also the modifiers.
-
- * cs-tokenizer.cs: Fix bug where floating point values with an
- exponent where a sign was missing was ignored.
-
- * driver.cs: Allow multiple assemblies to be specified in a single
- /r: argument
-
-2002-10-28 Miguel de Icaza <mi...@xi...>
-
- * cs-parser.jay: Ugly. We had to add a multiplicative_expression,
- because identifiers after a parenthesis would end up in this kind
- of production, and we needed to desamiguate it for having casts
- like:
-
- (UserDefinedType *) xxx
-
-2002-10-24 Miguel de Icaza <mi...@xi...>
-
- * typemanager.cs (RealMemberLookup): when we deal with a subclass,
- we should set on the Bindingflags.NonPublic, but not turn on
- private_ok. private_ok controls whether a Private member is
- returned (this is chekced on the filter routine), while the
- BindingFlags.NonPublic just controls whether private/protected
- will be allowed. This fixes the problem part of the problem of
- private properties being allowed to be used in derived classes.
-
- * expression.cs (BaseAccess): Provide an DoResolveLValue method,
- so we can call the children DoResolveLValue method (this will
- properly signal errors on lvalue assignments to base properties)
-
- * ecore.cs (PropertyExpr.ResolveAccessors): If both setter and
- getter are null, and we have a property info, we know that this
- happened because the lookup failed, so we report an error 122 for
- protection level violation.
-
- We also silently return if setter and getter are null in the
- resolve functions, this condition only happens if we have flagged
- the error before. This is the other half of the problem.
-
- (PropertyExpr.ResolveAccessors): Turns out that PropertyInfo does
- not have accessibility information, that is why we were returning
- true in the filter function in typemanager.cs.
-
- To properly report 122 (property is inaccessible because of its
- protection level) correctly, we report this error in ResolveAccess
- by failing if both the setter and the getter are lacking (ie, the
- lookup failed).
-
- DoResolve and DoLResolve have been modified to check for both
- setter/getter being null and returning silently, the reason being
- that I did not want to put the knowledge about this error in upper
- layers, like:
-
- int old = Report.Errors;
- x = new PropertyExpr (...);
- if (old != Report.Errors)
- return null;
- else
- return x;
-
- So the property expr is returned, but it is invalid, so the error
- will be flagged during the resolve process.
-
- * class.cs: Remove InheritablePropertySignatureCompare from the
- class, as we no longer depend on the property signature to compute
- whether it is possible to implement a method or not.
-
- The reason is that calling PropertyInfo.GetGetMethod will return
- null (in .NET, in Mono it works, and we should change this), in
- cases where the Get Method does not exist in that particular
- class.
-
- So this code:
-
- class X { public virtual int A { get { return 1; } } }
- class Y : X { }
- class Z : Y { public override int A { get { return 2; } } }
-
- Would fail in Z because the parent (Y) would not have the property
- defined. So we avoid this completely now (because the alternative
- fix was ugly and slow), and we now depend exclusively on the
- method names.
-
- (PropertyBase.CheckBase): Use a method-base mechanism to find our
- reference method, instead of using the property.
-
- * typemanager.cs (GetPropertyGetter, GetPropertySetter): These
- routines are gone now.
-
- * typemanager.cs (GetPropertyGetter, GetPropertySetter): swap the
- names, they were incorrectly named.
-
- * cs-tokenizer.cs: Return are more gentle token on failure.
-
- * pending.cs (PendingImplementation.InterfaceMethod): This routine
- had an out-of-sync index variable, which caused it to remove from
- the list of pending methods the wrong method sometimes.
-
-2002-10-22 Miguel de Icaza <mi...@xi...>
-
- * ecore.cs (PropertyExpr): Do not use PropertyInfo.CanRead,
- CanWrite, because those refer to this particular instance of the
- property, and do not take into account the fact that we can
- override single members of a property.
-
- Constructor requires an EmitContext. The resolution process does
- not happen here, but we need to compute the accessors before,
- because the resolution does not always happen for properties.
-
- * typemanager.cs (RealMemberLookup): Set private_ok if we are a
- subclass, before we did not update this flag, but we did update
- bindingflags.
-
- (GetAccessors): Drop this routine, as it did not work in the
- presence of partially overwritten set/get methods.
-
- Notice that this broke the cs1540 detection, but that will require
- more thinking.
-
-2002-10-22 Gonzalo Paniagua Javier <go...@xi...>
-
- * class.cs:
- * codegen.cs:
- * driver.cs: issue a warning instead of an error if we don't support
- debugging for the platform. Also ignore a couple of errors that may
- arise when trying to write the symbols. Undo my previous patch.
-
-2002-10-22 Gonzalo Paniagua Javier <go...@xi...>
-
- * driver.cs: ignore /debug switch except for Unix platforms.
-
-2002-10-23 Nick Drochak <ndr...@go...>
-
- * makefile: Remove mcs2.exe and mcs3.exe on 'make clean'
-
-2002-10-21 Miguel de Icaza <mi...@xi...>
-
- * driver.cs: Do not make mcs-debug conditional, so we do not break
- builds that use it.
-
- * statement.cs (UsageVector.MergeChildren): I would like Martin to
- review this patch. But basically after all the children variables
- have been merged, the value of "Breaks" was not being set to
- new_breaks for Switch blocks. I think that it should be set after
- it has executed. Currently I set this to the value of new_breaks,
- but only if new_breaks is FlowReturn.ALWAYS, which is a bit
- conservative, but I do not understand this code very well.
-
- I did not break anything in the build, so that is good ;-)
-
- * cs-tokenizer.cs: Also allow \r in comments as a line separator.
-
-2002-10-20 Mark Crichton <cri...@gi...>
-
- * cfold.cs: Fixed compile blocker. Really fixed it this time.
-
-2002-10-20 Nick Drochak <ndr...@go...>
-
- * cfold.cs: Fixed compile blocker.
-
-2002-10-20 Miguel de Icaza <mi...@xi...>
-
- * driver.cs: I was chekcing the key, not the file.
-
-2002-10-19 Ravi Pratap <ra...@xi...>
-
- * ecore.cs (UserDefinedConversion): Get rid of the bogus error
- message that we were generating - we just need to silently return
- a null.
-
-2002-10-19 Miguel de Icaza <mi...@xi...>
-
- * class.cs (Event.Define): Change my previous commit, as this
- breaks the debugger. This is a temporary hack, as it seems like
- the compiler is generating events incorrectly to begin with.
-
- * expression.cs (Binary.ResolveOperator): Added support for
- "U operator - (E x, E y)"
-
- * cfold.cs (BinaryFold): Added support for "U operator - (E x, E
- y)".
-
- * ecore.cs (FieldExpr.AddressOf): We had a special code path for
- init-only variables, but this path did not take into account that
- there might be also instance readonly variables. Correct this
- problem.
-
- This fixes bug 32253
-
- * delegate.cs (NewDelegate.DoResolve): Catch creation of unsafe
- delegates as well.
-
- * driver.cs: Change the extension for modules to `netmodule'
-
- * cs-parser.jay: Improved slightly the location tracking for
- the debugger symbols.
-
- * class.cs (Event.Define): Use Modifiers.FieldAttr on the
- modifiers that were specified instead of the hardcoded value
- (FamAndAssem). This was basically ignoring the static modifier,
- and others. Fixes 32429.
-
- * statement.cs (Switch.SimpleSwitchEmit): Simplified the code, and
- fixed a bug in the process (32476)
-
- * expression.cs (ArrayAccess.EmitAssign): Patch from
- hwa...@ya... that fixes bug 31834.3
-
-2002-10-18 Miguel de Icaza <mi...@xi...>
-
- * driver.cs: Make the module extension .netmodule.
-
-2002-10-16 Miguel de Icaza <mi...@xi...>
-
- * driver.cs: Report an error if the resource file is not found
- instead of crashing.
-
- * ecore.cs (PropertyExpr.EmitAssign): Pass IsBase instead of
- false, like Emit does.
-
-2002-10-16 Nick Drochak <ndr...@go...>
-
- * typemanager.cs: Remove unused private member. Also reported mcs
- bug to report this as a warning like csc.
-
-2002-10-15 Martin Baulig <ma...@gn...>
-
- * statement.cs (Statement.Emit): Made this a virtual method; emits
- the line number info and calls DoEmit().
- (Statement.DoEmit): New protected abstract method, formerly knows
- as Statement.Emit().
-
- * codegen.cs (EmitContext.Mark): Check whether we have a symbol writer.
-
-2002-10-11 Miguel de Icaza <mi...@xi...>
-
- * class.cs: Following the comment from 2002-09-26 to AddMethod, I
- have fixed a remaining problem: not every AddXXXX was adding a
- fully qualified name.
-
- Now everyone registers a fully qualified name in the DeclSpace as
- being defined instead of the partial name.
-
- Downsides: we are slower than we need to be due to the excess
- copies and the names being registered this way.
-
- The reason for this is that we currently depend (on the corlib
- bootstrap for instance) that types are fully qualified, because
- we dump all the types in the namespace, and we should really have
- types inserted into the proper namespace, so we can only store the
- basenames in the defined_names array.
-
-2002-10-10 Martin Baulig <ma...@gn...>
-
- * expression.cs (ArrayAccess.EmitStoreOpcode): Reverted the patch
- from bug #31834, see the bug report for a testcase which is
- miscompiled.
-
-2002-10-10 Martin Baulig <ma...@gn...>
-
- * codegen.cs (EmitContext.Breaks): Removed, we're now using the
- flow analysis code for this.
-
- * statement.cs (Do, While, For): Tell the flow analysis code about
- infinite loops.
- (FlowBranching.UsageVector): Added support for infinite loops.
- (Block.Resolve): Moved the dead code elimination here and use flow
- analysis to do it.
-
-2002-10-09 Miguel de Icaza <mi...@xi...>
-
- * class.cs (Field.Define): Catch cycles on struct type
- definitions.
-
- * typemanager.cs (IsUnmanagedtype): Do not recursively check
- fields if the fields are static. We only need to check instance
- fields.
-
- * expression.cs (As.DoResolve): Test for reference type.
-
- * statement.cs (Using.ResolveExpression): Use
- ConvertImplicitRequired, not ConvertImplicit which reports an
- error on failture
- (Using.ResolveLocalVariableDecls): ditto.
-
- * expression.cs (Binary.ResolveOperator): Report errors in a few
- places where we had to.
-
- * typemanager.cs (IsUnmanagedtype): Finish implementation.
-
-2002-10-08 Miguel de Icaza <mi...@xi...>
-
- * expression.cs: Use StoreFromPtr instead of extracting the type
- and then trying to use Stelem. Patch is from hwa...@ya...
-
- * ecore.cs (ImplicitReferenceConversion): It is possible to assign
- an enumeration value to a System.Enum, but System.Enum is not a
- value type, but an class type, so we need to box.
-
- (Expression.ConvertExplicit): One codepath could return
- errors but not flag them. Fix this. Fixes #31853
-
- * parameter.cs (Resolve): Do not allow void as a parameter type.
-
-2002-10-06 Martin Baulig <ma...@gn...>
-
- * statemenc.cs (FlowBranching.SetParameterAssigned): Don't crash
- if it's a class type and not a struct. Fixes #31815.
-
-2002-10-06 Martin Baulig <ma...@gn...>
-
- * statement.cs: Reworked the flow analysis code a bit to make it
- usable for dead code elimination.
-
-2002-10-06 Gonzalo Paniagua Javier <go...@xi...>
-
- * cs-parser.jay: allow empty source files. Fixes bug #31781.
-
-2002-10-04 Miguel de Icaza <mi...@xi...>
-
- * expression.cs (ComposedCast.DoResolveType): A quick workaround
- to fix the test 165, will investigate deeper.
-
-2002-10-04 Martin Baulig <ma...@gn...>
-
- * statement.cs (FlowBranching.UsageVector.MergeChildren): Make
- finally blocks actually work.
- (Try.Resolve): We don't need to create a sibling for `finally' if
- there is no finally block.
-
-2002-10-04 Martin Baulig <ma...@gn...>
-
- * class.cs (Constructor.Define): The default accessibility for a
- non-default constructor is private, not public.
-
-2002-10-04 Miguel de Icaza <mi...@xi...>
-
- * class.cs (Constructor): Make AllowedModifiers public, add
- EXTERN.
-
- * cs-parser.jay: Perform the modifiers test here, as the
- constructor for the Constructor class usually receives a zero
- because of the way we create it (first we create, later we
- customize, and we were never checking the modifiers).
-
- * typemanager.cs (Typemanager.LookupTypeDirect): This new function
- is a version of LookupTypeReflection that includes the type-name
- cache. This can be used as a fast path for functions that know
- the fully qualified name and are only calling into *.GetType() to
- obtain a composed type.
-
- This is also used by TypeManager.LookupType during its type
- composition.
-
- (LookupType): We now also track the real type name, as sometimes
- we can get a quey for the real type name from things like
- ComposedCast. This fixes bug 31422.
-
- * expression.cs (ComposedCast.Resolve): Since we are obtaining a
- complete type fullname, it does not have to go through the type
- resolution system to obtain the composed version of the type (for
- obtaining arrays or pointers).
-
- (Conditional.Emit): Use the EmitBoolExpression to
- generate nicer code, as requested by Paolo.
-
- (ArrayCreation.CheckIndices): Use the patch from
- hwa...@ya... to validate the array initializers.
-
-2002-10-03 Miguel de Icaza <mi...@xi...>
-
- * class.cs (ConstructorInitializer.Emit): simplify code by using
- Invocation.EmitCall, and at the same time, fix the bugs in calling
- parent constructors that took variable arguments.
-
- * ecore.cs (Expression.ConvertNumericExplicit,
- Expression.ImplicitNumericConversion): Remove the code that
- manually wrapped decimal (InternalTypeConstructor call is now gone
- as well).
-
- * expression.cs (Cast.TryReduce): Also handle decimal types when
- trying to perform a constant fold on the type.
-
- * typemanager.cs (IsUnmanagedtype): Partially implemented.
-
- * parameter.cs: Removed ResolveAndDefine, as it was not needed, as
- that only turned off an error report, and did nothing else.
-
-2002-10-02 Miguel de Icaza <mi...@xi...>
-
- * driver.cs: Handle and ignore /fullpaths
-
-2002-10-01 Miguel de Icaza <mi...@xi...>
-
- * expression.cs (Binary.ResolveOperator): Catch the case where
- DoNumericPromotions returns true,
-
- (Binary.DoNumericPromotions): Simplify the code, and the tests.
-
-2002-09-27 Miguel de Icaza <mi...@xi...>
-
- * ecore.cs (EventExpr.Emit): Instead of emitting an exception,
- report error 70.
-
-2002-09-26 Miguel de Icaza <mi...@xi...>
-
- * ecore.cs (ConvertNumericExplicit): It is not enough that the
- conversion exists, but it is also required that the conversion be
- performed. This manifested in "(Type64Enum) 2".
-
- * class.cs (TypeManager.AddMethod): The fix is not to change
- AddEnum, because that one was using a fully qualified name (every
- DeclSpace derivative does), but to change the AddMethod routine
- that was using an un-namespaced name. This now correctly reports
- the duplicated name.
-
- Revert patch until I can properly fix it. The issue
- is that we have a shared Type space across all namespaces
- currently, which is wrong.
-
- Options include making the Namespace a DeclSpace, and merge
- current_namespace/current_container in the parser.
-
-2002-09-25 Miguel de Icaza <mi...@xi...>
-
- * cs-parser.jay: Improve error reporting when we get a different
- kind of expression in local_variable_type and
- local_variable_pointer_type.
-
- Propagate this to avoid missleading errors being reported.
-
- * ecore.cs (ImplicitReferenceConversion): treat
- TypeManager.value_type as a target just like object_type. As
- code like this:
-
- ValueType v = 1;
-
- Is valid, and needs to result in the int 1 being boxed before it
- is assigned to the value type v.
-
- * class.cs (TypeContainer.AddEnum): Use the basename, not the name
- to validate the enumeration name.
-
- * expression.cs (ArrayAccess.EmitAssign): Mimic the same test from
- EmitDynamicInitializers for the criteria to use Ldelema. Thanks
- to hwa...@ya... for finding the bug and providing a patch.
-
- * ecore.cs (TryImplicitIntConversion): When doing an
- implicit-enumeration-conversion, check if the type is 64-bits and
- perform a conversion before passing to EnumConstant.
-
-2002-09-23 Miguel de Icaza <mi...@xi...>
-
- * decl.cs (Error_AmbiguousTypeReference); New routine used to
- report ambiguous type references. Unlike the MS version, we
- report what the ambiguity is. Innovation at work ;-)
-
- (DeclSpace.FindType): Require a location argument to
- display when we display an ambiguous error.
-
- * ecore.cs: (SimpleName.DoResolveType): Pass location to FindType.
-
- * interface.cs (GetInterfaceTypeByName): Pass location to FindType.
-
- * expression.cs (EmitDynamicInitializers): Apply patch from
- hwa...@ya... that fixes the order in which we emit our
- initializers.
-
-2002-09-21 Martin Baulig <ma...@gn...>
-
- * delegate.cs (Delegate.VerifyApplicability): Make this work if the
- delegate takes no arguments.
-
-2002-09-20 Miguel de Icaza <mi...@xi...>
-
- * constant.cs: Use Conv_U8 instead of Conv_I8 when loading longs
- from integers.
-
- * expression.cs: Extract the underlying type.
-
- * 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 <mi...@xi...>
-
- * 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 <ma...@gn...>
-
- * 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 <ma...@gn...>
-
- * expression.cs (MemberAccess.ResolveMemberAccess): When resolving
- to an enum constant, check for a CS0176.
-
-2002-09-18 Miguel de Icaza <mi...@xi...>
-
- * 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 <mi...@xi...>
-
- * driver.cs: Add support in -linkres and -resource to specify the
- name of the identifier.
-
-2002-09-16 Miguel de Icaza <mi...@xi...>
-
- * 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 <ma...@gn...>
-
- * class.cs (PropertyBase.CheckBase): Don't check the base class if
- this is an explicit interface implementation.
-
-2002-09-17 Martin Baulig <ma...@gn...>
-
- * 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 <mi...@xi...>
-
- * 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 <ma...@gn...>
-
- * 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 <ndr...@go...>
-
- * parameter.cs: Fix compile error. Cannot reference static member
- from an instance object. Is this an mcs bug?
-
-2002-09-14 Martin Baulig <ma...@gn...>
-
- * decl.cs (MemberCache.SetupCacheForInterface): Don't add an interface
- multiple times. Fixes bug #30295, added test-166.cs.
-
-2002-09-14 Martin Baulig <ma...@gn...>
-
- * statement.cs (Block.Emit): Don't emit unreachable code.
- (Switch.SimpleSwitchEmit, Switch.TableSwitchEmit): Check for missing
- `break' statements.
- (Goto.Emit, Continue.Emit): Set ec.Breaks = true.
-
-2002-09-14 Martin Baulig <ma...@gn...>
-
- * parameter.cs (Parameter.Attributes): Make this work if Modifier.ISBYREF
- is set.
-
-2002-09-14 Martin Baulig <ma...@gn...>
-
- * typemanager.cs (TypeManager.IsNestedChildOf): This must return false
- if `type == parent' since in this case `type.IsSubclassOf (parent)' will
- be false on the ms runtime.
-
-2002-09-13 Martin Baulig <ma...@gn...>
-
- * ecore.cs (SimpleName.SimpleNameResolve): Include the member name in
- the CS0038 error message.
-
-2002-09-12 Miguel de Icaza <mi...@xi...>
-
- * expression.cs (CheckedExpr, UnCheckedExpr): If we have a
- constant inside, return it.
-
-2002-09-12 Martin Baulig <ma...@gn...>
-
- * cfold.cs (ConstantFold.DoConstantNumericPromotions): Check whether an
- implicit conversion can be done between enum types.
-
- * enum.cs (Enum.LookupEnumValue): If the value is an EnumConstant,
- check whether an implicit conversion to the current enum's UnderlyingType
- exists and report an error if not.
-
- * codegen.cs (CodeGen.Init): Delete the symbol file when compiling
- without debugging support.
-
- * delegate.cs (Delegate.CloseDelegate): Removed, use CloseType instead.
- Fixes bug #30235. Thanks to Ricardo Fernández Pascual.
-
-2002-09-12 Martin Baulig <ma...@gn...>
-
- * typemanager.cs (TypeManager.IsNestedChildOf): New method.
-
- * ecore.cs (IMemberExpr.DeclaringType): New property.
- (SimpleName.SimpleNameResolve): Check whether we're accessing a
- nonstatic member of an outer type (CS0038).
-
-2002-09-11 Miguel de Icaza <mi...@xi...>
-
- * driver.cs: Activate the using-error detector at warning level
- 4 (at least for MS-compatible APIs).
-
- * namespace.cs (VerifyUsing): Small buglett fix.
-
- * pending.cs (PendingImplementation): pass the container pointer.
-
- * interface.cs (GetMethods): Allow for recursive definition. Long
- term, I would like to move every type to support recursive
- definitions, not the current ordering mechanism that we have right
- now.
-
- The situation is this: Attributes are handled before interfaces,
- so we can apply attributes to interfaces. But some attributes
- implement interfaces, we will now handle the simple cases
- (recursive definitions will just get an error).
-
- * parameter.cs: Only invalidate types at the end if we fail to
- lookup all types.
-
-2002-09-09 Martin Baulig <ma...@gn...>
-
- * ecore.cs (PropertyExpr.Emit): Also check for
- TypeManager.system_int_array_get_length so this'll also work when
- compiling corlib. Fixes #30003.
-
-2002-09-09 Martin Baulig <ma...@gn...>
-
- * expression.cs (ArrayCreation.MakeByteBlob): Added support for enums
- and throw an exception if we can't get the type's size. Fixed #30040,
- added test-165.cs.
-
-2002-09-09 Martin Baulig <ma...@gn...>
-
- * ecore.cs (PropertyExpr.DoResolve): Added check for static properies.
-
- * expression.cs (SizeOf.DoResolve): Sizeof is only allowed in unsafe
- context. Fixes bug #30027.
-
- * delegate.cs (NewDelegate.Emit): Use OpCodes.Ldvirtftn for
- virtual functions. Fixes bug #30043, added test-164.cs.
-
-2002-09-08 Ravi Pratap <ra...@xi...>
-
- * attribute.cs : Fix a small NullRef crash thanks to my stupidity.
-
-2002-09-08 Nick Drochak <ndr...@go...>
-
- * driver.cs: Use an object to get the windows codepage since it's not a
- static property.
-
-2002-09-08 Miguel de Icaza <mi...@xi...>
-
- * statement.cs (For.Emit): for infinite loops (test == null)
- return whether there is a break inside, not always "true".
-
- * namespace.cs (UsingEntry): New struct to hold the name of the
- using definition, the location where it is defined, and whether it
- has been used in a successful type lookup.
-
- * rootcontext.cs (NamespaceLookup): Use UsingEntries instead of
- strings.
-
- * decl.cs: ditto.
-
-2002-09-06 Ravi Pratap <ra...@xi...>
-
- * attribute.cs : Fix incorrect code which relied on catching
- a NullReferenceException to detect a null being passed in
- where an object was expected.
-
-2002-09-06 Miguel de Icaza <mi...@xi...>
-
- * statement.cs (Try): flag the catch variable as assigned
-
- * exp...
[truncated message content] |