mono.git
22 years ago2001-12-28 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Fri, 28 Dec 2001 15:26:06 +0000 (15:26 -0000)]
2001-12-28  Ravi Pratap  <ravi@ximian.com>

* attribute.cs (DefinePInvokeMethod): Set the implementation flags
to PreserveSig by default. Also emit HideBySig on such methods.

Basically, set the defaults to standard values.

* expression.cs (Invocation.BetterFunction): We need to make sure that for each
argument, if candidate is better, it can't be worse than the best !

(Invocation): Re-write bits to differentiate between methods being
applicable in their expanded form and their normal form - for params
methods of course.

Get rid of use_standard everywhere as only standard conversions are allowed
in overload resolution.

More spec conformance.

svn path=/trunk/mcs/; revision=1740

22 years ago2001-12-28 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Fri, 28 Dec 2001 15:21:34 +0000 (15:21 -0000)]
2001-12-28  Ravi Pratap  <ravi@ximian.com>

* test-34.cs : UPdate to exercise the new overload resolution
code.

svn path=/trunk/mcs/; revision=1739

22 years ago2001-12-28 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Fri, 28 Dec 2001 14:01:35 +0000 (14:01 -0000)]
2001-12-28    Gaurav Vaish <gvaish@iitk.ac.in>

* TODO, ChangeLog   -- Today's update.

svn path=/trunk/mcs/; revision=1738

22 years ago2001-12-28 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Fri, 28 Dec 2001 14:00:42 +0000 (14:00 -0000)]
2001-12-28    Gaurav Vaish <gvaish@iitk.ac.in>

* Unit.cs   -- Almost done. Don't know how to implement IsEquality.
   What criterion to use?

svn path=/trunk/mcs/; revision=1737

22 years ago2001-12-28 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Fri, 28 Dec 2001 13:21:14 +0000 (13:21 -0000)]
2001-12-28   Gaurav Vaish <gvaish@iitk.ac.in>

* FontUnit.cs   -- GetTypeFromString <--- Function name changed from
    IndexOf, which looked ugly. The function name is self-explanatory

svn path=/trunk/mcs/; revision=1736

22 years ago2001-12-28 Gaurav Vaish <gaish@iitk.ac.in>
Gaurav Vaish [Fri, 28 Dec 2001 12:25:20 +0000 (12:25 -0000)]
2001-12-28    Gaurav Vaish <gaish@iitk.ac.in>

* FontUnit.cs   -- Completed

svn path=/trunk/mcs/; revision=1735

22 years ago2001-12-28 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Fri, 28 Dec 2001 07:07:45 +0000 (07:07 -0000)]
2001-12-28    Gaurav Vaish <gvaish@iitk.ac.in>

* DataGridPageChangedEventHandler.cs,
* DataGridSortCommandEventHandler.cs,
* DataListCommandEventHandler.cs,
* DataListItemEventHandler.cs
* MonthChangedEventHandler.cs,
* RepeaterCommandEventHandler.cs,
* RepeaterItemEventHandler.cs,
* ServerValidateEventHandler.cs    -- Added delegates

* TODO   -- Updated to reveal the latest
* ChangeLog  -- Updated to reveal the latest updates

svn path=/trunk/mcs/; revision=1734

22 years ago2001-12-28 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Fri, 28 Dec 2001 05:19:16 +0000 (05:19 -0000)]
2001-12-28   Gaurav Vaish <gvaish@iitk.ac.in>

* Literal.cs, LiteralControlBuilder.cs  -- Completed

svn path=/trunk/mcs/; revision=1733

22 years ago2001-12-28 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Fri, 28 Dec 2001 01:43:57 +0000 (01:43 -0000)]
2001-12-28   Gaurav Vaish <gvaish@iitk.ac.in>

* ImageButton.cs, Label.cs  -- Minor corrections with LoadViewState's

* LinkButton.cs, LinkButtonControlBuilder.cs  -- Completed

svn path=/trunk/mcs/; revision=1732

22 years ago2001-12-28 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Fri, 28 Dec 2001 00:41:50 +0000 (00:41 -0000)]
2001-12-28    Gaurav Vaish <gvaish@iitk.ac.in>

* Utils.cs  -- Added functions GetClientValidatedEvent, GetClientValidatedPostBack

svn path=/trunk/mcs/; revision=1731

22 years ago2001-12-28 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Fri, 28 Dec 2001 00:12:22 +0000 (00:12 -0000)]
2001-12-28    Gaurav Vaish <gvaish@iitk.ac.in>

* ImageButton.cs  -- Status flag changed (comments)

* Label.cs, LabelControlBuilder.cs  -- Completed

svn path=/trunk/mcs/; revision=1730

22 years ago2001-12-28 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Thu, 27 Dec 2001 22:57:42 +0000 (22:57 -0000)]
2001-12-28   Gaurav Vaish <gvaish@iitk.ac.in>

* Image.cs -- Missed the "using" directives

* ImageButton.cs -- Completed

svn path=/trunk/mcs/; revision=1729

22 years ago2001-12-27 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 27 Dec 2001 20:09:40 +0000 (20:09 -0000)]
2001-12-27  Miguel de Icaza  <miguel@ximian.com>

* driver.cs: Add --timestamp, to see where the compiler spends
most of its time.

* ecore.cs (SimpleName.DoResolve): Do not create an implicit
`this' in static code.

(SimpleName.DoResolve): Implement in terms of a helper function
that allows static-references to be passed upstream to
MemberAccess.

(Expression.ResolveWithSimpleName): Resolve specially simple
names when called by MemberAccess to implement the special
semantics.

(Expression.ImplicitReferenceConversion): Handle conversions from
Null to reference types before others, as Null's type is
System.Object.

svn path=/trunk/mcs/; revision=1728

22 years ago2001-12-27 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 27 Dec 2001 16:54:10 +0000 (16:54 -0000)]
2001-12-27  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (Invocation.EmitCall): Handle the special case of
calling methods declared on a reference type from a ValueType
(Base classes System.Object and System.Enum)

(MemberAccess.Resolve): Only perform lookups on Enumerations if
the left hand side is a TypeExpr, not on every enumeration.

(Binary.Resolve): If types are reference types, then do a cast to
object on operators != and == of both arguments.

* typemanager.cs (FindMembers): Extract instance and static
members if requested.

* interface.cs (PopulateProperty): Use void_type instead of null
as the return type for the setter method.

(PopulateIndexer): ditto.

svn path=/trunk/mcs/; revision=1727

22 years ago2001-12-27 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 27 Dec 2001 16:05:00 +0000 (16:05 -0000)]
2001-12-27  Ravi Pratap  <ravi@ximian.com>

* support.cs (ReflectionParameters): Fix minor bug where we
were examining the wrong parameter for the ParamArray attribute.

Cope with requests for the type of the parameter at position
greater than the params parameter's. We now return the element
type of the params array as that makes more sense.

* expression.cs (Invocation.IsParamsMethodApplicable): Update
accordingly as we no longer have to extract the element type
ourselves.

(Invocation.OverloadResolve): Update.

svn path=/trunk/mcs/; revision=1726

22 years agoAdd new test
Miguel de Icaza [Thu, 27 Dec 2001 16:01:08 +0000 (16:01 -0000)]
Add new test

svn path=/trunk/mcs/; revision=1725

22 years ago2001-12-27 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Thu, 27 Dec 2001 13:38:24 +0000 (13:38 -0000)]
2001-12-27     Gaurav Vaish <gvaish@iitk.ac.in>

* Image.cs  -- Completed

svn path=/trunk/mcs/; revision=1724

22 years ago2001-12-27 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Thu, 27 Dec 2001 12:42:45 +0000 (12:42 -0000)]
2001-12-27    Gaurav Vaish <gvaish@iitk.ac.in>

* HyperLink.cs  -- Completed.

svn path=/trunk/mcs/; revision=1723

22 years ago2001-12-27 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Thu, 27 Dec 2001 10:05:12 +0000 (10:05 -0000)]
2001-12-27    Gaurav Vaish <gvaish@iitk.ac.in>

* Calendar.cs  -- Done Rendering part. Just one function left.

* ChangeLog  -- Updated

svn path=/trunk/mcs/; revision=1722

22 years agoAdd new bug
Miguel de Icaza [Thu, 27 Dec 2001 04:21:49 +0000 (04:21 -0000)]
Add new bug

svn path=/trunk/mcs/; revision=1721

22 years ago2001-12-27 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 27 Dec 2001 04:17:22 +0000 (04:17 -0000)]
2001-12-27  Miguel de Icaza  <miguel@ximian.com>

* statement.cs (Foreach.GetEnumeratorFilter): Do not compare
against IEnumerator, test whether the return value is a descendant
of the IEnumerator interface.

* class.cs (Indexer.Define): Use an auxiliary method to implement
the other bits of the method definition.  Begin support for
explicit interface implementation.

(Property.DefineMethod): Use TypeManager.void_type instead of null
for an empty return value.

svn path=/trunk/mcs/; revision=1720

22 years ago2001-12-26 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 27 Dec 2001 03:27:09 +0000 (03:27 -0000)]
2001-12-26  Ravi Pratap  <ravi@ximian.com>

* class.cs (Event.Define): Define the private field only if there
are no accessors defined.

* expression.cs (ResolveMemberAccess): If there is no associated
field with the event, that means we have an event defined with its
own accessors and we should flag error cs0070 since transforming
ourselves into a field is not valid in that case.

* ecore.cs (SimpleName.DoResolve): Same as above.

* attribute.cs (DefinePInvokeMethod): Set the default calling convention
and charset to sane values.

svn path=/trunk/mcs/; revision=1719

22 years ago2001-12-26 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 27 Dec 2001 03:23:47 +0000 (03:23 -0000)]
2001-12-26  Ravi Pratap  <ravi@ximian.com>

* test-67.cs : Add. These are tests for explicit layout
of structs and classes.

* makefile : Update accordingly.

svn path=/trunk/mcs/; revision=1718

22 years ago2001-12-27 Nick Drochak <ndrochak@gol.com>
Nick Drochak [Wed, 26 Dec 2001 19:07:47 +0000 (19:07 -0000)]
2001-12-27  Nick Drochak <ndrochak@gol.com>

* UInt32Test.cs: Added messages to Asserts()'s to find out which one was failing.

svn path=/trunk/mcs/; revision=1717

22 years ago2001-12-27 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Wed, 26 Dec 2001 14:54:08 +0000 (14:54 -0000)]
2001-12-27   Gaurav Vaish <gvaish@iitk.ac.in>

* class.xml   -- Weekly update for class.xml. Missed one on 22nd :)

svn path=/trunk/mono/; revision=1716

22 years ago2001-12-27 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Wed, 26 Dec 2001 14:43:45 +0000 (14:43 -0000)]
2001-12-27   Gaurav Vaish <gvaish@iitk.ac.in>

* test6.aspx  --- Test in connection with Calendar

* Calendar.cs  -- ViewStates (Track/Save/View), RaisePostBackEvent

svn path=/trunk/mcs/; revision=1715

22 years ago2001-12-25 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Tue, 25 Dec 2001 14:35:18 +0000 (14:35 -0000)]
2001-12-25  Ravi Pratap  <ravi@ximian.com>

* assign.cs (DoResolve): Perform check on events only if they
are being accessed outside the declaring type.

* cs-parser.jay (event_declarations): Update rules to correctly
set the type of the implicit parameter etc.

(add_accessor, remove_accessor): Set current local parameters.

* expression.cs (Binary): For delegate addition and subtraction,
cast the return value from the method into the appropriate delegate
type.

svn path=/trunk/mcs/; revision=1714

22 years ago2001-12-25 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Tue, 25 Dec 2001 14:29:45 +0000 (14:29 -0000)]
2001-12-25  Ravi Pratap  <ravi@ximian.com>

* test-57.cs : Update to exercise more of the code base for
events.

svn path=/trunk/mcs/; revision=1713

22 years ago2001-12-24 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Mon, 24 Dec 2001 15:42:55 +0000 (15:42 -0000)]
2001-12-24  Ravi Pratap  <ravi@ximian.com>

* attribute.cs (ApplyAttributes): New method to take care of common tasks
of attaching attributes instead of duplicating code everywhere.

* everywhere : Update code to do attribute emission using the above method.

svn path=/trunk/mcs/; revision=1712

22 years agoMon Dec 24 17:23:45 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Mon, 24 Dec 2001 12:32:03 +0000 (12:32 -0000)]
Mon Dec 24 17:23:45 CET 2001 Paolo Molaro <lupus@ximian.com>

* interp.c: fix ldc.i8.

Mon Dec 24 17:18:10 CET 2001 Paolo Molaro <lupus@ximian.com>

* icall.c: fix array init with rank > 1. FindMembers
loops in parent class as well.
* image.c: do not insert nested types in name cache.
* reflection.c: warning fix.
* reflection.h: add override method (for interface impl).

svn path=/trunk/mono/; revision=1711

22 years agoMon Dec 24 17:24:13 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Mon, 24 Dec 2001 12:31:26 +0000 (12:31 -0000)]
Mon Dec 24 17:24:13 CET 2001 Paolo Molaro <lupus@ximian.com>

* main.c, dump.h, dump.c: add dump_table_nestedclass().
* dis-cil.c: output int64 as hex.

svn path=/trunk/mono/; revision=1710

22 years agoMon Dec 24 17:21:30 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Mon, 24 Dec 2001 12:28:59 +0000 (12:28 -0000)]
Mon Dec 24 17:21:30 CET 2001 Paolo Molaro <lupus@ximian.com>

* TypeBuilder.cs: added DefineMethodOverride().
* MethodBuilder.cs: add override_method member and setter.

svn path=/trunk/mcs/; revision=1709

22 years agoMon Dec 24 16:16:56 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Mon, 24 Dec 2001 11:23:30 +0000 (11:23 -0000)]
Mon Dec 24 16:16:56 CET 2001 Paolo Molaro <lupus@ximian.com>

* metadata.c: fix customattr decoding.

svn path=/trunk/mono/; revision=1708

22 years ago2001-12-24 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Mon, 24 Dec 2001 06:46:22 +0000 (06:46 -0000)]
2001-12-24  Ravi Pratap  <ravi@ximian.com>

* typemanager.cs (RegisterDelegateData, GetDelegateData): Get rid
of these as the workaround is unnecessary.

* delegate.cs (NewDelegate.DoResolve): Get rid of bits which registered
delegate data - none of that is needed at all.

Re-write bits to extract the instance expression and the delegate method
correctly.

* expression.cs (Binary.ResolveOperator): Handle the '-' binary operator
on delegates too.

svn path=/trunk/mcs/; revision=1707

22 years ago2001-12-24 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Mon, 24 Dec 2001 06:34:03 +0000 (06:34 -0000)]
2001-12-24  Ravi Pratap  <ravi@ximian.com>

* test-19.cs : Augment to exercise tests on delegates
defined in mscorlib.

* test-57.cs : Update to exercise the -= operator
as well.

svn path=/trunk/mcs/; revision=1706

22 years ago2001-12-23 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Mon, 24 Dec 2001 02:17:19 +0000 (02:17 -0000)]
2001-12-23  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (IsParamsMethodApplicable): if there are not
parameters, return immediately.

* ecore.cs: The 0 literal can be implicity converted to an enum
type.

(SimpleName.DoResolve): First lookup the type, then lookup the
members.

(FieldExpr.Emit): If the InstanceExpression is a ValueType, we

svn path=/trunk/mcs/; revision=1705

22 years agoMore bugs
Miguel de Icaza [Mon, 24 Dec 2001 01:05:39 +0000 (01:05 -0000)]
More bugs

svn path=/trunk/mcs/; revision=1704

22 years agoAdd
Miguel de Icaza [Mon, 24 Dec 2001 01:03:13 +0000 (01:03 -0000)]
Add

svn path=/trunk/mcs/; revision=1703

22 years agoUpdate tests
Miguel de Icaza [Mon, 24 Dec 2001 00:59:36 +0000 (00:59 -0000)]
Update tests

svn path=/trunk/mcs/; revision=1702

22 years ago2001-12-23 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Mon, 24 Dec 2001 00:57:29 +0000 (00:57 -0000)]
2001-12-23  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (IsParamsMethodApplicable): if there are not
parameters, return immediately.

* ecore.cs: The 0 literal can be implicity converted to an enum
type.

(SimpleName.DoResolve): First lookup the type, then lookup the
members.

(FieldExpr.Emit): If the InstanceExpression is a ValueType, we
want to get its address.  If the InstanceExpression is not
addressable, store the result in a temporary variable, then get
the address of it.

* codegen.cs: Only display 219 errors on warning level or above.

* expression.cs (ArrayAccess): Make it implement the
IMemoryLocation interface.

(Binary.DoResolve): handle the operator == (object a, object b)
and operator != (object a, object b) without incurring into a
BoxedCast (because 5 != o should never be performed).

Handle binary enumerator operators.

(EmitLoadOpcode): Use Ldelema if the object we are loading is a
value type, otherwise use Ldelem_ref.

Use precomputed names;

(AddressOf): Implement address of

* cs-parser.jay (labeled_statement): Fix recursive block
addition by reworking the production.

* expression.cs (New.DoEmit): New has a special case:

 If we are dealing with a ValueType, we have a few
 situations to deal with:

    * The target of New is a ValueType variable, that is
      easy, we just pass this as the variable reference

    * The target of New is being passed as an argument,
      to a boxing operation or a function that takes a
      ValueType.

      In this case, we need to create a temporary variable
      that is the argument of New.

svn path=/trunk/mcs/; revision=1701

22 years agoAdd another bug
Miguel de Icaza [Mon, 24 Dec 2001 00:22:45 +0000 (00:22 -0000)]
Add another bug

svn path=/trunk/mcs/; revision=1700

22 years ago2001-12-23 Nick Drochak <ndrochak@gol.com>
Nick Drochak [Sun, 23 Dec 2001 20:22:31 +0000 (20:22 -0000)]
2001-12-23  Nick Drochak  <ndrochak@gol.com>

* ChangeLog: Flush old edit to this file.

svn path=/trunk/mcs/; revision=1699

22 years agoTest 62
Miguel de Icaza [Sun, 23 Dec 2001 15:29:57 +0000 (15:29 -0000)]
Test 62

svn path=/trunk/mcs/; revision=1698

22 years agoAdd test-65, and include 63 and 64 on the build
Miguel de Icaza [Sun, 23 Dec 2001 15:29:15 +0000 (15:29 -0000)]
Add test-65, and include 63 and 64 on the build

svn path=/trunk/mcs/; revision=1697

22 years agoCommitting again just to be sure ;-)
Ravi Pratap M [Sun, 23 Dec 2001 14:53:22 +0000 (14:53 -0000)]
Committing again just to be sure ;-)

svn path=/trunk/mcs/; revision=1696

22 years ago2001-12-23 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Sun, 23 Dec 2001 14:44:12 +0000 (14:44 -0000)]
2001-12-23  Ravi Pratap  <ravi@ximian.com>

* typemanager.cs : Use PtrHashtable for Delegate data hashtable etc.

* assign.cs : Get rid of EventIsLocal everywhere.

svn path=/trunk/mcs/; revision=1695

22 years ago2001-12-23 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Sun, 23 Dec 2001 14:08:58 +0000 (14:08 -0000)]
2001-12-23  Ravi Pratap  <ravi@ximian.com>

* rootcontext.cs (LookupType): Check that current_type is not null before
going about looking at nested types.

* ecore.cs (EventExpr.EmitAddOrRemove): Rename from EmitAssign as we do
not implement the IAssignMethod interface any more.

* expression.cs (MemberAccess.ResolveMemberAccess): Handle EventExprs specially
where we tranform them into FieldExprs if they are being resolved from within
the declaring type.

* ecore.cs (SimpleName.DoResolve): Do the same here.

* assign.cs (DoResolve, Emit): Clean up code considerably.

* ../errors/bug10.cs : Add.

* ../errors/cs0070.cs : Add.

svn path=/trunk/mcs/; revision=1694

22 years ago2001-12-23 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Sun, 23 Dec 2001 14:04:11 +0000 (14:04 -0000)]
2001-12-23  Ravi Pratap  <ravi@ximian.com>

* test-57.cs : Update.

* makefile : Update to include the above as it passes nicely.

svn path=/trunk/mcs/; revision=1693

22 years agoAdd
Ravi Pratap M [Sun, 23 Dec 2001 14:01:44 +0000 (14:01 -0000)]
Add

svn path=/trunk/mcs/; revision=1692

22 years ago2001-12-23 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sun, 23 Dec 2001 04:48:10 +0000 (04:48 -0000)]
2001-12-23  Miguel de Icaza  <miguel@ximian.com>

* typemanager.cs (GetAccessors): Make the return value consistent
(ie, 0 is always get, 1 is always set)

* ecore.cs (ConvertIntLiteral): finished the implementation.

* statement.cs (SwitchLabel): Convert the value we are using as a
key before looking up the table.

svn path=/trunk/mcs/; revision=1691

22 years ago2001-12-22 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sat, 22 Dec 2001 23:42:12 +0000 (23:42 -0000)]
2001-12-22  Miguel de Icaza  <miguel@ximian.com>

* codegen.cs (EmitTopBlock): Require a Location argument now.

* cs-parser.jay (constructor_declarator): We need to setup
current_local_parameters before we parse the
opt_constructor_initializer, to allow the variables to be bound
to the constructor arguments.

* rootcontext.cs (LookupType): First lookup nested classes in our
class and our parents before we go looking outside our class.

* expression.cs (ConstantFold): Extract/debox the values at the
beginnning.

* rootcontext.cs (EmitCode): Resolve the constants first before we
resolve the types.  This is not really needed, but it helps debugging.

svn path=/trunk/mcs/; revision=1690

22 years agoAdded new test
Miguel de Icaza [Sat, 22 Dec 2001 22:45:37 +0000 (22:45 -0000)]
Added new test

svn path=/trunk/mcs/; revision=1689

22 years agoUpdate
Miguel de Icaza [Sat, 22 Dec 2001 15:45:43 +0000 (15:45 -0000)]
Update

svn path=/trunk/mono/; revision=1688

22 years ago2001-12-22 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sat, 22 Dec 2001 15:29:09 +0000 (15:29 -0000)]
2001-12-22  Miguel de Icaza  <miguel@ximian.com>

* statement.cs: report location.

* cs-parser.jay: pass location to throw statement.

* driver.cs: Small bug fix.

* report.cs: Updated format to be 4-zero filled digits.

svn path=/trunk/mcs/; revision=1687

22 years ago2001-12-22 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Sat, 22 Dec 2001 14:04:13 +0000 (14:04 -0000)]
2001-12-22  Ravi Pratap  <ravi@ximian.com>

* expression.cs (CheckIndices): Fix minor bug where the wrong
variable was being referred to ;-)

(DoEmit): Do not call EmitStaticInitializers when the
underlying type is System.Object.

svn path=/trunk/mcs/; revision=1686

22 years ago2001-12-21 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Sat, 22 Dec 2001 10:50:10 +0000 (10:50 -0000)]
2001-12-21  Ravi Pratap  <ravi@ximian.com>

* test-19.cs : Augment to exercise code which fixed the bug
where we were not generating a This for the delegate's
instance expression - for the non-static methods ie.

svn path=/trunk/mcs/; revision=1685

22 years ago2001-12-21 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Sat, 22 Dec 2001 10:47:10 +0000 (10:47 -0000)]
2001-12-21  Ravi Pratap  <ravi@ximian.com>

* ecore.cs (EventExpr.Resolve): Implement to correctly set the type
and do the usual workaround for SRE.

* class.cs (MyEventBuilder.EventType): New member to get at the type
of the event, quickly.

* expression.cs (Binary.ResolveOperator): Handle delegate addition.

* assign.cs (Assign.DoResolve): Handle the case when the target
is an EventExpr and perform the necessary checks.

* ecore.cs (EventExpr.EmitAssign): Implement the IAssignMethod
interface.

(SimpleName.MemberStaticCheck): Include check for EventExpr.

(EventExpr): Set the type in the constructor itself since we
are meant to be born fully resolved.

(EventExpr.Define): Revert code I wrote earlier.

* delegate.cs (NewDelegate.Resolve): Handle the case when the MethodGroup's
instance expression is null. The instance expression is a This in that case
or a null, depending on whether it is a static method or not.

Also flag an error if the reference to a method is ambiguous i.e the MethodGroupExpr
refers to more than one method.

* assign.cs (DoResolve): Check whether the event belongs to the same Type container
and accordingly flag errors.

svn path=/trunk/mcs/; revision=1684

22 years agoNew build file
Miguel de Icaza [Sat, 22 Dec 2001 04:28:21 +0000 (04:28 -0000)]
New build file

svn path=/trunk/mcs/; revision=1683

22 years ago2001-12-21 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sat, 22 Dec 2001 04:28:02 +0000 (04:28 -0000)]
2001-12-21  Miguel de Icaza  <miguel@ximian.com>

* SecurityElement.cs, CodeAccessPermission.cs IPermission.cs
IStackWalk.cs SecurityElement.cs ISecurityEncodable.cs: New files.

svn path=/trunk/mcs/; revision=1682

22 years ago2001-12-21 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sat, 22 Dec 2001 03:46:42 +0000 (03:46 -0000)]
2001-12-21  Miguel de Icaza  <miguel@ximian.com>

* Char.cs (Parse): Implement.

* Byte.cs (Parse): Implement a fast parser.

* SByte.cs (Parse): Implement a fast parser.

* UInt16.cs (Parse): Implement a fast parser.

* Int16.cs (Parse): Implement a fast parser.

* UInt32.cs (Parse): Implement a fast parser.

* Int32.cs (Parse): Implement a fast parser.

svn path=/trunk/mcs/; revision=1681

22 years ago2001-12-21 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sat, 22 Dec 2001 02:39:31 +0000 (02:39 -0000)]
2001-12-21  Miguel de Icaza  <miguel@ximian.com>

* statement.cs (Throw.Emit): Add support for re-throwing exceptions.

svn path=/trunk/mcs/; revision=1680

22 years agoAdd new error
Miguel de Icaza [Sat, 22 Dec 2001 01:14:10 +0000 (01:14 -0000)]
Add new error

svn path=/trunk/mcs/; revision=1679

22 years ago2001-12-22 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sat, 22 Dec 2001 01:12:03 +0000 (01:12 -0000)]
2001-12-22  Miguel de Icaza  <miguel@ximian.com>

* location.cs (ToString): Provide useful rutine.

2001-12-21  Miguel de Icaza  <miguel@ximian.com>

* ecore.cs (Expression.ConvertIntLiteral): Do not return Constant
objects, return the actual integral boxed.

* statement.cs (SwitchLabel): define an ILLabel for each
SwitchLabel.

(Switch.CheckSwitch): If the value is a Literal, extract
the underlying literal.

Also in the unused hashtable we had, add the SwitchLabel so we can
quickly look this value up.

* constant.cs: Implement a bunch of new constants.  Rewrite
Literal based on this.  Made changes everywhere to adapt to this.

* expression.cs (Expression.MakeByteBlob): Optimize routine by
dereferencing array only once, and also copes with enumrations.

bytes are two bytes wide, not one.

(Cast): Perform constant conversions.

* ecore.cs (TryImplicitIntConversion): Return literals instead of
wrappers to the literals here.

* expression.cs (DoNumericPromotions): long literals can converted
to ulong implicity (this is taken care of elsewhere, but I was
missing this spot).

* ecore.cs (Expression.Literalize): Make the return type Literal,
to improve type checking.

* rootcontext.cs: Lookup for nested classes in our class hierarchy.

svn path=/trunk/mcs/; revision=1678

22 years agoUpdate
Miguel de Icaza [Sat, 22 Dec 2001 00:35:28 +0000 (00:35 -0000)]
Update

svn path=/trunk/mcs/; revision=1677

22 years agoUpdate
Miguel de Icaza [Sat, 22 Dec 2001 00:30:57 +0000 (00:30 -0000)]
Update

svn path=/trunk/mcs/; revision=1676

22 years agoFlush
Miguel de Icaza [Sat, 22 Dec 2001 00:28:37 +0000 (00:28 -0000)]
Flush

svn path=/trunk/mcs/; revision=1675

22 years ago2001-12-21 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Fri, 21 Dec 2001 21:03:29 +0000 (21:03 -0000)]
2001-12-21  Miguel de Icaza  <miguel@ximian.com>

* rawbuffer.cs: Added native Win32 implementation, avoids using
mmap on Cygwin.  This patch is from Dan Lewis (dihlewis@yahoo.co.uk)

svn path=/trunk/mono/; revision=1674

22 years ago2001-12-22 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Fri, 21 Dec 2001 19:51:42 +0000 (19:51 -0000)]
2001-12-22   Gaurav Vaish <gvaish@iitk.ac.in>

* HttpRuntime -- updated comments

* FileChangesMonitor.cs, IISVersionInfo.cs -- updated comments

* UrlUtils.cs -- Added IsRooted function

* FilePathParser -- Another intensive class needed

* WebEqualComparer.cs, WebHashCodeProvider.cs  -- IComparer, IHashCodeProvider

svn path=/trunk/mcs/; revision=1673

22 years ago2001-12-21 Aaron Weber <aaron@ximian.com>
Aaron Weber [Fri, 21 Dec 2001 17:43:31 +0000 (17:43 -0000)]
2001-12-21  Aaron Weber  <aaron@ximian.com>

* doc/faq (A): added a linebreak that was missing and was causing
a heading to appear badly.

svn path=/trunk/mono/; revision=1672

22 years ago2001-12-20 Aaron Weber <aaron@ximian.com>
Aaron Weber [Fri, 21 Dec 2001 17:18:49 +0000 (17:18 -0000)]
2001-12-20  Aaron Weber  <aaron@ximian.com>

* doc/faq: added <a name=""> nav links, and moved all MSFT-related
questions into a single section.

svn path=/trunk/mono/; revision=1671

22 years agoSmall beautification patch
Miguel de Icaza [Fri, 21 Dec 2001 16:00:10 +0000 (16:00 -0000)]
Small beautification patch

svn path=/trunk/mono/; revision=1670

22 years agoFri Dec 21 15:14:52 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Fri, 21 Dec 2001 10:21:37 +0000 (10:21 -0000)]
Fri Dec 21 15:14:52 CET 2001 Paolo Molaro <lupus@ximian.com>

* Array.cs: fix null ref in sort code.
* UInt64.cs: add bare-bones parse.

svn path=/trunk/mcs/; revision=1669

22 years agoMore tests.
Paolo Molaro [Fri, 21 Dec 2001 10:17:00 +0000 (10:17 -0000)]
More tests.

svn path=/trunk/mono/; revision=1668

22 years ago2001-12-21 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Fri, 21 Dec 2001 09:18:56 +0000 (09:18 -0000)]
2001-12-21     Gaurav Vaish <gvaish@iitk.ac.in>

* ChangeLog   -- Updated.

svn path=/trunk/mcs/; revision=1667

22 years ago2001-12-21 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Fri, 21 Dec 2001 08:42:28 +0000 (08:42 -0000)]
2001-12-21        Gaurav Vaish <gvaish@iitk.ac.in>

* System.Web/*.cs
* System.Web.Caching/*.cs
* System.Web.UI/*.cs
* System.Web.Utils/*.cs
* System.Web.UI.WebControls/*.cs

  -- The ISP was down yesterday and today morning. So many files. See changelog for more details.

svn path=/trunk/mcs/; revision=1666

22 years ago2001-12-21 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Fri, 21 Dec 2001 08:26:46 +0000 (08:26 -0000)]
2001-12-21    Gaurav Vaish <gvaish@iitk.ac.in>

* .cvsignore   -- ??

svn path=/trunk/mcs/; revision=1665

22 years agorethrow test
Miguel de Icaza [Fri, 21 Dec 2001 01:27:30 +0000 (01:27 -0000)]
rethrow test

svn path=/trunk/mcs/; revision=1664

22 years agoAdd bug9
Miguel de Icaza [Fri, 21 Dec 2001 00:51:53 +0000 (00:51 -0000)]
Add bug9

svn path=/trunk/mcs/; revision=1663

22 years ago2001-12-20 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Fri, 21 Dec 2001 00:51:29 +0000 (00:51 -0000)]
2001-12-20  Miguel de Icaza  <miguel@ximian.com>

* literal.cs: Revert code from ravi that checked the bounds.  The
bounds are sane by the definition of the type itself.

* typemanager.cs: Fix implementation of ImplementsInterface.  We
need to actually look up in our parent hierarchy for interfaces
implemented.

svn path=/trunk/mcs/; revision=1662

22 years agoFlush
Miguel de Icaza [Thu, 20 Dec 2001 21:29:11 +0000 (21:29 -0000)]
Flush

svn path=/trunk/mcs/; revision=1661

22 years agoFlush
Miguel de Icaza [Thu, 20 Dec 2001 16:15:37 +0000 (16:15 -0000)]
Flush

svn path=/trunk/mcs/; revision=1660

22 years agoUpdate to demonstrate problem with static/instance methods.
Paolo Molaro [Thu, 20 Dec 2001 15:22:08 +0000 (15:22 -0000)]
Update to demonstrate problem with static/instance methods.

svn path=/trunk/mono/; revision=1659

22 years agoThu Dec 20 20:11:26 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Thu, 20 Dec 2001 15:21:23 +0000 (15:21 -0000)]
Thu Dec 20 20:11:26 CET 2001 Paolo Molaro <lupus@ximian.com>

* class.c: make the low-level routines handle the cache.

svn path=/trunk/mono/; revision=1658

22 years agoThu Dec 20 20:09:48 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Thu, 20 Dec 2001 15:21:02 +0000 (15:21 -0000)]
Thu Dec 20 20:09:48 CET 2001 Paolo Molaro <lupus@ximian.com>

* interp.c: fix delegate method invocation to handle both
static and instance methods.

svn path=/trunk/mono/; revision=1657

22 years agoThu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Thu, 20 Dec 2001 15:20:42 +0000 (15:20 -0000)]
Thu Dec 20 20:13:07 CET 2001 Paolo Molaro <lupus@ximian.com>

* x86/tramp.c: fix create_method_pointer() to pass the arguments
correctly and add check for overflow.

svn path=/trunk/mono/; revision=1656

22 years ago2001-12-20 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 20 Dec 2001 14:07:30 +0000 (14:07 -0000)]
2001-12-20  Miguel de Icaza  <miguel@ximian.com>

* delegate.cs: Compute the basename for the delegate creation,
that should fix the delegate test case, and restore the correct
Type Lookup semantics in rootcontext

* rootcontext.cs: Revert Ravi's last patch.  The correct way of
referencing a nested type with the Reflection API is using the "+"
sign.

svn path=/trunk/mcs/; revision=1655

22 years ago2001-12-20 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 20 Dec 2001 13:52:12 +0000 (13:52 -0000)]
2001-12-20  Ravi Pratap  <ravi@ximian.com>

* expression.cs (MemberAccess.ResolveMemberAccess): Add support for
the case when the member is an EventExpr.

* ecore.cs (EventExpr.InstanceExpression): Every event which is not
static has an associated instance expression.

* typemanager.cs (RegisterEvent): The usual workaround, now for events.

(GetAddMethod, GetRemoveMethod): Workarounds, as usual.

* class.cs (Event.Define): Register event and perform appropriate checks
for error #111.

  We define the Add and Remove methods even if the use provides none because
in that case, we provide default implementations ourselves.

Define a private field of the type of the event. This is done by the CSC compiler
and we should be doing it too ;-)

* typemanager.cs (delegate_combine_delegate_delegate, delegate_remove_delegate_delegate):
More methods we use in code we generate.

(multicast_delegate_type, delegate_type): Two separate types since the distinction
is important.

(InitCoreTypes): Update accordingly for the above.

* class.cs (Event.Emit): Generate code for default accessors that we provide

(EmitDefaultMethod): Do the job in the above.

* delegate.cs (DefineDelegate): Use TypeManager.multicast_delegate_type in the
appropriate place.

svn path=/trunk/mcs/; revision=1654

22 years ago2001-12-20 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 20 Dec 2001 11:55:30 +0000 (11:55 -0000)]
2001-12-20  Miguel de Icaza  <miguel@ximian.com>

* cs-parser.jay: Do not require EOF token at the end.

svn path=/trunk/mcs/; revision=1653

22 years agoThu Dec 20 15:46:31 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Thu, 20 Dec 2001 10:53:07 +0000 (10:53 -0000)]
Thu Dec 20 15:46:31 CET 2001 Paolo Molaro <lupus@ximian.com>

* FieldOffsetAttribute.cs, InAttribute.cs, MarshalAsAttribute.cs,
OptionalAttribute.cs, StructLayoutAttribute.cs, VarEnum.cs:
more stuff needed by the compiler.

svn path=/trunk/mcs/; revision=1652

22 years agoThu Dec 20 15:29:52 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Thu, 20 Dec 2001 10:36:18 +0000 (10:36 -0000)]
Thu Dec 20 15:29:52 CET 2001 Paolo Molaro <lupus@ximian.com>

* Byte.cs: removed use of Regexes.

svn path=/trunk/mcs/; revision=1651

22 years agoThu Dec 20 15:20:35 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Thu, 20 Dec 2001 10:27:40 +0000 (10:27 -0000)]
Thu Dec 20 15:20:35 CET 2001 Paolo Molaro <lupus@ximian.com>

* image.c: fopen (file, "rb") ("David Dawkins" <david@dawkins.st>).

svn path=/trunk/mono/; revision=1650

22 years ago2001-12-20 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 20 Dec 2001 07:08:56 +0000 (07:08 -0000)]
2001-12-20  Ravi Pratap  <ravi@ximian.com>

* rootcontext.cs (LookupType): Concatenate type names with
a '.' instead of a '+' The test suite passes again.

* enum.cs (Enum.DefineEnum): Set RTSpecialName on the 'value__'
field of the enumeration.

svn path=/trunk/mcs/; revision=1649

22 years ago2001-12-20 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 20 Dec 2001 02:09:30 +0000 (02:09 -0000)]
2001-12-20  Miguel de Icaza  <miguel@ximian.com>

* class.cs (Indexer.Define): Fix bug, we were setting both Get/Set
builders even if we were missing one.

* interface.cs, class.cs, enum.cs: When calling DefineNestedType
pass the Basename as our class name instead of the Name.  The
basename will be correctly composed for us.

* parameter.cs (Paramters): Now takes a Location argument.

* decl.cs (DeclSpace.LookupType): Removed convenience function and
make all the code call directly LookupType in RootContext and take
this chance to pass the Location information everywhere.

* Everywhere: pass Location information.

2001-12-19  Miguel de Icaza  <miguel@ximian.com>

* class.cs (Constructor.Define): Updated way of detecting the
length of the parameters.

(TypeContainer.DefineType): Use basename as the type name for
nested types.

(TypeContainer.Define): Do not recursively define types here, as
definition is taken care in order by the RootContext.

svn path=/trunk/mcs/; revision=1648

22 years agoFlush
Miguel de Icaza [Thu, 20 Dec 2001 01:45:27 +0000 (01:45 -0000)]
Flush

svn path=/trunk/mcs/; revision=1647

22 years agoAdd new bug and new error
Miguel de Icaza [Thu, 20 Dec 2001 01:28:06 +0000 (01:28 -0000)]
Add new bug and new error

svn path=/trunk/mcs/; revision=1646

22 years ago2001-12-19 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Wed, 19 Dec 2001 20:09:13 +0000 (20:09 -0000)]
2001-12-19  Miguel de Icaza  <miguel@ximian.com>

* tree.cs: Keep track of namespaces in a per-file basis.

* parameter.cs (Parameter.ComputeSignature): Update to use
DeclSpace.

(Parameters.GetSignature): ditto.

* interface.cs (InterfaceMethod.GetSignature): Take a DeclSpace
instead of a TypeContainer.

(Interface.SemanticAnalysis): Use `this' instead of our parent to
resolve names.  Because we need to be resolve in our context, not
our parents.

* driver.cs: Implement response files.

* class.cs (TypeContainer.DefineType): If we are defined, do not
redefine ourselves.

(Event.Emit): Emit the code for add/remove handlers.
(Event.Define): Save the MethodBuilders for add/remove.

* typemanager.cs: Use pair here too.

* cs-parser.jay: Replaced use of DictionaryEntry for Pair because
DictionaryEntry requires the first argument to be non-null.

(enum_declaration): Compute full name for registering the
enumeration.

(delegate_declaration): Instead of using
formal_parameter_list, use opt_formal_parameter_list as the list
can be empty.

* cs-tokenizer.cs (PropertyParsing): renamed from `properties'
(EventParsing): New property that controls whether `add' and
`remove' are returned as tokens or identifiers (for events);

svn path=/trunk/mcs/; revision=1645

22 years agoAdd parsing test
Miguel de Icaza [Wed, 19 Dec 2001 17:51:33 +0000 (17:51 -0000)]
Add parsing test

svn path=/trunk/mcs/; revision=1644

22 years ago2001-12-20 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Wed, 19 Dec 2001 17:34:12 +0000 (17:34 -0000)]
2001-12-20         Gaurav Vaish <gvaish@iitk.ac.in>

* UI.WebControls/*.cs
   -- on the way. FontInfo completed

svn path=/trunk/mcs/; revision=1643

22 years ago2001-12-19 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Wed, 19 Dec 2001 13:17:20 +0000 (13:17 -0000)]
2001-12-19  Ravi Pratap  <ravi@ximian.com>

* class.cs (Event.Define): Revamp use of EventBuilder completely. We now
use MyEventBuilder only and let it wrap the real builder for us.

(MyEventBuilder): Revamp constructor etc.

Implement all operations that we perform on EventBuilder in precisely the same
way here too.

(FindMembers): Update to use the EventBuilder member.

(Event.Emit): Update accordingly.

2001-12-18  Ravi Pratap  <ravi@ximian.com>

* class.cs (MyEventBuilder.Set*): Chain to the underlying builder
by calling the appropriate methods.

(GetCustomAttributes): Make stubs as they cannot possibly do anything
useful.

(Event.Emit): Use MyEventBuilder everywhere - even to set attributes.

2001-12-17  Ravi Pratap  <ravi@ximian.com>

* delegate.cs (Delegate.Populate): Check that the return type
and various parameters types are indeed accessible.

* class.cs (Constructor.Define): Same here.

(Field.Define): Ditto.

(Event.Define): Ditto.

(Operator.Define): Check that the underlying Method defined itself
correctly - so it's MethodBuilder should not be null.

* delegate.cs (DelegateInvocation.DoResolve): Bale out if the type of the Instance
expression happens to be null.

* class.cs (MyEventBuilder): Workaround for SRE lameness. Implement various abstract
members but as of now we don't seem to be able to do anything really useful with it.

(FindMembers): Handle events separately by returning the MyEventBuilder of the event,
not the EventBuilder.

svn path=/trunk/mcs/; revision=1642

22 years ago2001-12-19 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Wed, 19 Dec 2001 12:04:23 +0000 (12:04 -0000)]
2001-12-19    Gaurav Vaish <gvaish@iitk.ac.in>

* AUTHORS: Ha ha, having fun time.

* ListItem.cs  -- needed because of visibility issues(?)

svn path=/trunk/mcs/; revision=1641