2001-10-30 Ravi Pratap <ravi@ximian.com>
[mono.git] / mcs / mcs / ChangeLog
index 3809b0a8e9489fec21042adae0a0f868ffe5ec4c..87805c8c1989235b48b3d80f40c9a4b4cfddf05a 100755 (executable)
@@ -1,3 +1,136 @@
+2001-10-30  Ravi Pratap  <ravi@ximian.com>
+
+       * expression.cs (NewArray): Merge into the ArrayCreation class.
+
+2001-10-29  Ravi Pratap  <ravi@ximian.com>
+
+       * expression.cs (NewArray): Merge classes NewBuiltinArray and 
+       NewUserdefinedArray into one as there wasn't much of a use in having
+       two separate ones.
+
+       * expression.cs (Argument): Change field's name to ArgType from Type.
+
+       (Type): New readonly property which returns the proper type, taking into 
+       account ref/out modifiers.
+
+       (everywhere): Adjust code accordingly for the above.
+
+       * codegen.cs (EmitContext.RefOrOutParameter): New field to determine
+       whether we are emitting for a ref or out parameter.
+
+       * expression.cs (Argument::Emit): Use the above field to set the state.
+
+       (LocalVariableReference::Emit): Update to honour the flag and emit the
+       right stuff.
+
+       * parameter.cs (Attributes): Set the correct flags for ref parameters.
+
+       * expression.cs (Argument::FullDesc): New function to provide a full desc.
+
+       * support.cs (ParameterData): Add method ParameterDesc to the interface.
+
+       (ReflectionParameters, InternalParameters): Implement the above method.
+
+       * expression.cs (Invocation::OverloadResolve): Use the new desc methods in
+       reporting errors.
+
+       (Invocation::FullMethodDesc): Ditto. 
+
+2001-10-29  Miguel de Icaza  <miguel@ximian.com>
+
+       * cs-parser.jay: Add extra production for the second form of array
+       creation. 
+
+       * expression.cs (ArrayCreation): Update to reflect the above
+       change. 
+
+       * Small changes to prepare for Array initialization.
+
+2001-10-28  Miguel de Icaza  <miguel@ximian.com>
+
+       * typemanager.cs (ImplementsInterface): interface might be null;
+       Deal with this problem;
+
+       Also, we do store negative hits on the cache (null values), so use
+       this instead of calling t.GetInterfaces on the type everytime.
+
+2001-10-28  Ravi Pratap  <ravi@ximian.com>
+
+       * typemanager.cs (IsBuiltinType): New method to help determine the same.
+
+       * expression.cs (New::DoResolve): Get rid of array creation code and instead
+       split functionality out into different classes.
+
+       (New::FormArrayType): Move into NewBuiltinArray.
+
+       (Invocation::EmitArguments): Get rid of the MethodBase argument. Appears
+       quite useless.
+
+       (NewBuiltinArray): New class to handle creation of built-in arrays.
+
+       (NewBuiltinArray::DoResolve): Implement guts of array creation. Also take into
+       account creation of one-dimensional arrays.
+
+       (::Emit): Implement to use Newarr and Newobj opcodes accordingly.
+
+       (NewUserdefinedArray::DoResolve): Implement.
+
+       * cs-parser.jay (local_variable_type): Fix up to add the rank to the variable too.
+
+       * typemanager.cs (AddModule): Used to add a ModuleBuilder to the list of modules
+       we maintain inside the TypeManager. This is necessary to perform lookups on the
+       module builder.
+
+       (LookupType): Update to perform GetType on the module builders too.     
+
+       * driver.cs (Driver): Add the ModuleBuilder to the list maintained by the TypeManager.
+
+       * exprssion.cs (NewUserdefinedArray::Emit): Implement.
+
+2001-10-23  Ravi Pratap  <ravi@ximian.com>
+
+       * expression.cs (New::DoResolve): Implement guts of array creation.
+
+       (New::FormLookupType): Rename to FormArrayType and modify ever so slightly.
+       
+2001-10-27  Miguel de Icaza  <miguel@ximian.com>
+
+       * expression.cs: Fix bug I introduced lsat night that broke
+       Delegates. 
+
+       (Expression.Resolve): Report a 246 error (can not resolve name)
+       if we find a SimpleName in the stream.
+       
+       (Expression.ResolveLValue): Ditto.
+       
+       (Expression.ResolveWithSimpleName): This function is a variant of
+       ResolveName, this one allows SimpleNames to be returned without a
+       warning.  The only consumer of SimpleNames is MemberAccess
+
+2001-10-26  Miguel de Icaza  <miguel@ximian.com>
+
+       * expression.cs (Invocation::DoResolve): Catch SimpleNames that
+       might arrive here.  I have my doubts that this is correct.
+
+       * statement.cs (Lock): Implement lock statement.
+
+       * cs-parser.jay: Small fixes to support `lock' and `using'
+
+       * cs-tokenizer.cs: Remove extra space
+
+       * driver.cs: New flag --checked, allows to turn on integer math
+       checking. 
+
+       * typemanger.cs: Load methodinfos for Threading.Monitor.Enter and
+       Threading.Monitor.Exit 
+       
+2001-10-23  Miguel de Icaza  <miguel@ximian.com>
+
+       * expression.cs (IndexerAccess::DoResolveLValue): Set the
+       Expression Class to be IndexerAccess.
+
+       Notice that Indexer::DoResolve sets the eclass to Value.
+
 2001-10-22  Miguel de Icaza  <miguel@ximian.com>
 
        * class.cs (TypeContainer::Emit): Emit code for indexers.
        inherited from an interface, we need to set the MethodAttributes.Final flag too. 
        Also set MethodAttributes.NewSlot and MethodAttributes.HideBySig.
        
->>>>>>> 1.142
 2001-10-21  Ravi Pratap  <ravi@ximian.com>
 
        * interface.cs (FindMembers): Implement to work around S.R.E