mono.git
22 years agoAdd TcpClient and TcpListener from Phillip Pearson
Miguel de Icaza [Fri, 23 Nov 2001 21:07:52 +0000 (21:07 -0000)]
Add TcpClient and TcpListener from Phillip Pearson

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

22 years ago2001-11-23 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Fri, 23 Nov 2001 17:15:00 +0000 (17:15 -0000)]
2001-11-23  Ravi Pratap  <ravi@ximian.com>

* expression.cs (ArrayCreation::Emit): Handle string initialization separately.

(MakeByteBlob): Handle types more correctly.

* expression.cs (ArrayCreation:Emit): Write preliminary code to do
initialization from expressions but it is incomplete because I am a complete
Dodo :-|

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

22 years agoUpdate various tests
Ravi Pratap M [Fri, 23 Nov 2001 17:05:00 +0000 (17:05 -0000)]
Update various tests

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

22 years ago2001-11-23 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Fri, 23 Nov 2001 09:08:53 +0000 (09:08 -0000)]
2001-11-23  Ravi Pratap  <ravi@ximian.com>

* typemanager.cs (IsDelegateType, IsEnumType): Fix logic to determine
the same.

* expression.cs (ArrayCreation::CheckIndices): Get rid of the require_constant
parameter. Apparently, any expression is allowed.

(ValidateInitializers): Update accordingly.

(CheckIndices): Fix some tricky bugs thanks to recursion.

* delegate.cs (NewDelegate::DoResolve): Re-write large portions as
I was being completely brain-dead.

(VerifyMethod, VerifyApplicability, VerifyDelegate): Make static
and re-write acordingly.

(DelegateInvocation): Re-write accordingly.

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

22 years ago2001-11-22 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 22 Nov 2001 20:36:17 +0000 (20:36 -0000)]
2001-11-22  Miguel de Icaza  <miguel@ximian.com>

* statement.cs (If.Emit): Fix a bug that generated incorrect code
on If.  Basically, we have to return `true' (ie, we do return to
our caller) only if both branches of the if return.

* expression.cs (Binary.Emit): LogicalOr and LogicalAnd are
short-circuit operators, handle them as short circuit operators.

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

22 years agoAdd more testage
Miguel de Icaza [Thu, 22 Nov 2001 19:11:20 +0000 (19:11 -0000)]
Add more testage

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

22 years ago2001-11-22 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 22 Nov 2001 18:55:00 +0000 (18:55 -0000)]
2001-11-22  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (Cast.DoResolve): Resolve type.
(Cast.Cast): Take an expression as the target type.

* cs-parser.jay (cast_expression): Remove old hack that only
allowed a limited set of types to be handled.  Now we take a
unary_expression and we resolve to a type during semantic
analysis.

Use the grammar productions from Rhys to handle casts (this is
not complete like Rhys syntax yet, we fail to handle that corner
case that C# has regarding (-x), but we will get there.

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

22 years ago2001-11-22 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 22 Nov 2001 16:34:02 +0000 (16:34 -0000)]
2001-11-22  Ravi Pratap  <ravi@ximian.com>

* ecore.cs : The error message was correct, it's the variable's names that
were misleading ;-) Make the code more readable.

(MemberAccess::DoResolve): Fix the code which handles Enum literals to set
the correct type etc.

(ConvertExplicit): Handle Enum types by examining the underlying type.

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

22 years ago2001-11-22 Dick Porter <dick@ximian.com>
Dick Porter [Thu, 22 Nov 2001 13:31:13 +0000 (13:31 -0000)]
2001-11-22  Dick Porter  <dick@ximian.com>

* handles.c (SignalObjectAndWait): Implement

* wait.c (WaitForSingleObject): Fix case where timeout == 0

* threads.c:
* semaphores.c:
* mutexes.c:
* io.c:
* events.c: Support for SignalObjectAndWait

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

22 years ago2001-11-22 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 22 Nov 2001 12:26:30 +0000 (12:26 -0000)]
2001-11-22  Ravi Pratap  <ravi@ximian.com>

* cs-parser.jay (for_statement): Update for array initialization while
declaring variables.

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

22 years ago2001-11-22 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 22 Nov 2001 12:18:59 +0000 (12:18 -0000)]
2001-11-22  Ravi Pratap  <ravi@ximian.com>

* typemanager.cs (MakeKey): Implement.

(everywhere): Use the above appropriately.

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

22 years agoanother test for exceptions
Dietmar Maurer [Thu, 22 Nov 2001 09:25:32 +0000 (09:25 -0000)]
another test for exceptions

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

22 years ago2001-11-22 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 22 Nov 2001 07:05:45 +0000 (07:05 -0000)]
2001-11-22  Ravi Pratap  <ravi@ximian.com>

* class.cs (EmitFieldInitializer): Take care of the case when we have a
field which is an array type.

* cs-parser.jay (declare_local_variables): Support array initialization too.

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

22 years ago2001-11-22 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 22 Nov 2001 06:58:36 +0000 (06:58 -0000)]
2001-11-22  Ravi Pratap  <ravi@ximian.com>

* test-45.cs : Augment some more to test shorthand declaration
of variables/fields that are array types.

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

22 years ago2001-11-22 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 22 Nov 2001 03:13:04 +0000 (03:13 -0000)]
2001-11-22  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (Binary.ResolveOperator): Update the values of `l'
and `r' after calling DoNumericPromotions.

* ecore.cs: Fix error message (the types were in the wrong order).

* statement.cs (Foreach.ProbeCollectionType): Need to pass
BindingFlags.Instance as well

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

22 years agoAdd summary information to enumerations.
Daniel Weber [Thu, 22 Nov 2001 03:00:06 +0000 (03:00 -0000)]
Add summary information to enumerations.

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

22 years agoAdd descriptions to enumerations
Daniel Weber [Thu, 22 Nov 2001 02:54:19 +0000 (02:54 -0000)]
Add descriptions to enumerations

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

22 years agoImplement basic functionality, still missing CloneNode, WriteTo, innerXml, outerXml
Daniel Weber [Thu, 22 Nov 2001 02:42:31 +0000 (02:42 -0000)]
Implement basic functionality, still missing CloneNode, WriteTo, innerXml, outerXml

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

22 years ago2001-11-22 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 22 Nov 2001 02:02:06 +0000 (02:02 -0000)]
2001-11-22  Miguel de Icaza  <miguel@ximian.com>

* ecore.cs (Expression.TryImplicitIntConversion): Wrap the result
implicit int literal conversion in an empty cast so that we
propagate the right type upstream.

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

22 years ago2001-11-22 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 22 Nov 2001 01:44:08 +0000 (01:44 -0000)]
2001-11-22  Miguel de Icaza  <miguel@ximian.com>

* ecore.cs (UnboxCast): new class used to unbox value types.
(Expression.ConvertExplicit): Add explicit type conversions done
by unboxing.

(Expression.ImplicitNumericConversion): Oops, forgot to test for
the target type before applying the implicit LongLiterals to ULong
literal cast.

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

22 years agoAdd copyright information
Daniel Weber [Thu, 22 Nov 2001 01:19:33 +0000 (01:19 -0000)]
Add copyright information

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

22 years agoInitial implementation of XmlException
Daniel Weber [Thu, 22 Nov 2001 01:18:36 +0000 (01:18 -0000)]
Initial implementation of XmlException

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

22 years agoImplement NextSibling, PreviousSibling, RemoveAll, InsertBefore(), InsertAfter, prepe...
Daniel Weber [Thu, 22 Nov 2001 00:46:55 +0000 (00:46 -0000)]
Implement NextSibling, PreviousSibling, RemoveAll, InsertBefore(), InsertAfter, prepend, append in XmlNode.cs
Override RemoveAll in XmlElement

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

22 years ago2001-11-21 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Wed, 21 Nov 2001 21:17:53 +0000 (21:17 -0000)]
2001-11-21  Miguel de Icaza  <miguel@ximian.com>

* cs-parser.jay (for_statement): Reworked the way For works: now
we declare manually any variables that are introduced in
for_initializer to solve the problem of having out-of-band code
emition (that is what got for broken).

(declaration_statement): Perform the actual variable declaration
that used to be done in local_variable_declaration here.

(local_variable_declaration): Do not declare anything, just pass
the information on a DictionaryEntry

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

22 years ago2001-11-22 Nick Drochak <ndrochak@gol.com>
Nick Drochak [Wed, 21 Nov 2001 18:49:08 +0000 (18:49 -0000)]
2001-11-22  Nick Drochak <ndrochak@gol.com>

* IPAddress.cs: Fix constructor bug, properly name Address property,
and use triple-slash for comments.

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

22 years ago2001-11-21 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Wed, 21 Nov 2001 18:12:11 +0000 (18:12 -0000)]
2001-11-21  Miguel de Icaza  <miguel@ximian.com>

* ApplicationException.cs: internationalize by adding calls to
Locale.GetText ().  And throw NotImplementedExceptions on calls
that we have to implement.

* Version.cs: Ditto.

* ValueType.cs: ditto.

* UnauthorizedAccessException.cs: ditto.

* UInt32.cs: ditto.

* UInt64.cs: ditto.

* UInt16.cs: ditto.

* TypeLoadException.cs: ditto

* TypeInitializationException.cs: ditto.

* Type.cs: ditto.

* TimeSpan.cs: ditto.

* SystemException.cs: ditto.

* String.cs: ditto.

* StackOverflowException.cs: ditto.x

* Single.cs: ditto.

* SByte.cs: ditto.

* RuntimeTypeHandle.cs: ditto.

* RuntimeMethodHandle.cs: ditto.

* RuntimeFieldHandle.cs: ditto.

* Random.cs: ditto.

* OutOfMemoryException.cs: ditto.

* OperatingSystem.cs: ditto.

* ObjectDisposedException.cs: ditto.

* NullReferenceException.cs: ditto.

* NotImplementedException.cs: ditto.

* NotFiniteNumberException.cs: ditto.o

* MulticastNotSupportedException.cs: ditto.

* MissingMethodException.cs: ditto.

* MemberAccessException.cs: ditto.

* Math.cs: ditto.

* InvalidCastException.cs: ditto.

* IntegerFormatter.cs: ditto.

* Int32.cs: ditto.

* Int16.cs: ditto.

* IndexOutOfRangeException.cs: ditto.

* Environment.cs: ditto

* Enum.cs: ditto.

* DuplicateWaitObjectException.cs: ditto.

* DivideByZeroException.cs: ditto.

* Delegate.cs: ditto

* DecimalFormatter.cs: ditto.

* Decimal.cs: ditto.

* DateTime.cs: ditto.

* Convert.cs: ditto.

* Char.cs: ditto.

* Byte.cs: ditto.

* Boolean.cs: ditto.

* ArrayTypeMismatchException.cs: ditto.

* ArithmeticException.cs: ditto.

* ArgumentOutOfRangeException.cs: ditto.

* ArgumentNullException.cs: ditto.

* Enum.cs: Make it derive from ValueType, add CompareTo method.

* Attribute.cs: Reformat.

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

22 years ago2001-11-21 Dick Porter <dick@ximian.com>
Dick Porter [Wed, 21 Nov 2001 12:50:12 +0000 (12:50 -0000)]
2001-11-21  Dick Porter  <dick@ximian.com>

* events.c:
* handles.c:
* mutexes.c:
* semaphores.c:
* threads.c:
* wait.c: Reliable method of returning which handle was signalled
on return from WaitForMultipleObjects().

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

22 years ago2001-11-21 Dick Porter <dick@ximian.com>
Dick Porter [Wed, 21 Nov 2001 10:21:22 +0000 (10:21 -0000)]
2001-11-21  Dick Porter  <dick@ximian.com>

* events.c: Implement events

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

22 years agoFix up to do double-dimension array access too !
Ravi Pratap M [Wed, 21 Nov 2001 05:04:52 +0000 (05:04 -0000)]
Fix up to do double-dimension array access too !

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

22 years agoFix build bug on XPathNavigator
Daniel Weber [Tue, 20 Nov 2001 23:26:03 +0000 (23:26 -0000)]
Fix build bug on XPathNavigator

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

22 years agoMove XPath classes to their own directory (System.Xml.XPath)
Daniel Weber [Tue, 20 Nov 2001 22:46:32 +0000 (22:46 -0000)]
Move XPath classes to their own directory (System.Xml.XPath)

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

22 years agoFix constructors
Daniel Weber [Tue, 20 Nov 2001 22:43:26 +0000 (22:43 -0000)]
Fix constructors

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

22 years agoAdd constructor
Daniel Weber [Tue, 20 Nov 2001 22:36:43 +0000 (22:36 -0000)]
Add constructor

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

22 years agoImplement events, add constructors
Daniel Weber [Tue, 20 Nov 2001 22:36:03 +0000 (22:36 -0000)]
Implement events, add constructors

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

22 years agoCorrect System.Xml.XPath error, implement InsertAfter
Daniel Weber [Tue, 20 Nov 2001 22:35:11 +0000 (22:35 -0000)]
Correct System.Xml.XPath error, implement InsertAfter

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

22 years ago*** empty log message ***
Daniel Weber [Tue, 20 Nov 2001 19:02:06 +0000 (19:02 -0000)]
*** empty log message ***

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

22 years ago2001-11-20 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Tue, 20 Nov 2001 17:37:54 +0000 (17:37 -0000)]
2001-11-20  Ravi Pratap  <ravi@ximian.com>

* expression.cs (ArrayCreation::CheckIndices): The story continues :-) Complete
re-write of the logic to now make it recursive.

(UpdateIndices): Re-write accordingly.

Store element data in a separate ArrayData list in the above methods.

(MakeByteBlob): Implement to dump the array data into a byte array.

2001-11-19  Ravi Pratap  <ravi@ximian.com>

* expression.cs (ArrayCreation): Factor out some code from ValidateInitializers
into CheckIndices.

* constant.cs (Define): Implement.

(EmitConstant): Re-write fully.

Pass in location info.

* class.cs (Populate, Emit): Call Constant::Define and Constant::EmitConstant
respectively.

* cs-parser.jay (constant_declarator): Use VariableDeclaration instead of
DictionaryEntry since we need location info too.

(constant_declaration): Update accordingly.

* expression.cs (ArrayCreation): Make ValidateInitializers simpler by factoring
code into another method : UpdateIndices.

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

22 years ago2001-11-20 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Tue, 20 Nov 2001 17:36:24 +0000 (17:36 -0000)]
2001-11-20  Ravi Pratap  <ravi@ximian.com>

* test-45.cs : Add for array initialization testing.

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

22 years ago2001-11-20 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Tue, 20 Nov 2001 15:47:49 +0000 (15:47 -0000)]
2001-11-20  Miguel de Icaza  <miguel@ximian.com>

* IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
None as suggested by Phillip.

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

22 years agoAdded myself as maintainer of several System.Xml classes, replacing Joe Hildebrand...
Daniel Weber [Tue, 20 Nov 2001 03:38:07 +0000 (03:38 -0000)]
Added myself as maintainer of several System.Xml classes, replacing Joe Hildebrand in class.xml
Updated Changelog and maintainers.xml

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

22 years agooops
Miguel de Icaza [Tue, 20 Nov 2001 02:20:47 +0000 (02:20 -0000)]
oops

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

22 years agofinish adding stubs to begin work on XmlDocuemnt.Load(file)
Daniel Weber [Mon, 19 Nov 2001 20:30:08 +0000 (20:30 -0000)]
finish adding stubs to begin work on XmlDocuemnt.Load(file)
Most files are merely placeholders.

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

22 years agoadd new System.Xml classes
Daniel Weber [Mon, 19 Nov 2001 20:15:32 +0000 (20:15 -0000)]
add new System.Xml classes

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

22 years ago2001-11-19 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Mon, 19 Nov 2001 13:19:54 +0000 (13:19 -0000)]
2001-11-19  Miguel de Icaza  <miguel@ximian.com>

* DictionaryBase.cs: Implemented.

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

22 years ago2001-11-19 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Mon, 19 Nov 2001 12:06:10 +0000 (12:06 -0000)]
2001-11-19  Dietmar Maurer  <dietmar@ximian.com>

* jit.c (MAKE_SPILLED_BI_ALU): always spill DIV/REM results to memory to
make register allocation easier on x86

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

22 years agouse (class == mono_defaults.string_class) instead of a strcmp
Dietmar Maurer [Mon, 19 Nov 2001 09:48:02 +0000 (09:48 -0000)]
use (class == mono_defaults.string_class) instead of a strcmp

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

22 years ago2001-11-19 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Mon, 19 Nov 2001 09:30:00 +0000 (09:30 -0000)]
2001-11-19  Dietmar Maurer  <dietmar@ximian.com>

* jit.c (mono_analyze_stack): impl. LDFTN

* emit-x86.c (enter_method): more debugging output for Strings
(arch_compile_method): added delegate support
(arch_compile_method): align EBP to 8 byte boundary

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

22 years agoMon Nov 19 13:58:01 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Mon, 19 Nov 2001 09:09:26 +0000 (09:09 -0000)]
Mon Nov 19 13:58:01 CET 2001 Paolo Molaro <lupus@ximian.com>

* AssemblyBuilder.cs: add method to register a string in the "#US"
stream.
* EnumBuilder.cs, SignatureHelper.cs: added stubs.
* ILGenerator.cs: more stuff implemented.
* LocalBuilder.cs: keep track of local var index.

Mon Nov 19 13:56:55 CET 2001 Paolo Molaro <lupus@ximian.com>

* MethodBase.cs: add internal get_next_table_index() for use in
Reflection.Emit.

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

22 years agos/Utf7_Encoding/UTF7Encoding/
Dietmar Maurer [Mon, 19 Nov 2001 09:08:39 +0000 (09:08 -0000)]
s/Utf7_Encoding/UTF7Encoding/

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

22 years agoTypo fixes pointed out by Dick (HASCOSTANT -> HASCONSTANT).
Paolo Molaro [Mon, 19 Nov 2001 07:27:46 +0000 (07:27 -0000)]
Typo fixes pointed out by Dick (HASCOSTANT -> HASCONSTANT).

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

22 years agoMake the JIT run also the slow (for the interp:-) methods.
Paolo Molaro [Mon, 19 Nov 2001 07:11:32 +0000 (07:11 -0000)]
Make the JIT run also the slow (for the interp:-) methods.
Make ackermann.cs return 0 on success, 1 on failure.
Enable broken code in delegate.cs.

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

22 years agoMon Nov 19 11:37:14 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Mon, 19 Nov 2001 06:52:53 +0000 (06:52 -0000)]
Mon Nov 19 11:37:14 CET 2001 Paolo Molaro <lupus@ximian.com>

* class.c, class.h: add mono_install_trampoline() so that the runtime
can register a function to create a trampoline: removes the ugly
requirement that a runtime needed to export arch_create_jit_trampoline.
* object.h, object.c: added mono_install_handler() so that the runtime
can install an handler for exceptions generated in C code (with
mono_raise_exception()). Added C struct for System.Delegate.
* pedump.c: removed arch_create_jit_trampoline.
* reflection.c: some cleanups to allow registering user strings and
later getting a token for methodrefs and fieldrefs before the assembly
is built.
* row-indexes.h: updates and fixes from the new ECMA specs.

Mon Nov 19 11:36:22 CET 2001 Paolo Molaro <lupus@ximian.com>

* jit.c: use mono_install_trampoline (), instead of exporting
a function to a lower-level library.

Mon Nov 19 11:33:00 CET 2001 Paolo Molaro <lupus@ximian.com>

* interp.c: start adding support for handling exceptions across
managed/unmanaged boundaries. Cleanup Delegate method invocation.
Pass the correct target object in Delegate::Invoke and use the correct
'this' pointer in ldvirtftn (bugs pointed out by Dietmar).

Mon Nov 19 11:32:28 CET 2001 Paolo Molaro <lupus@ximian.com>

* main.c: remove arch_create_jit_trampoline().

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

22 years agoDocumentation updates
Miguel de Icaza [Mon, 19 Nov 2001 00:44:09 +0000 (00:44 -0000)]
Documentation updates

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

22 years agoLink to Gtk# site
Miguel de Icaza [Sun, 18 Nov 2001 17:57:29 +0000 (17:57 -0000)]
Link to Gtk# site

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

22 years ago2001-11-18 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Sun, 18 Nov 2001 10:17:16 +0000 (10:17 -0000)]
2001-11-18  Ravi Pratap  <ravi@ximian.com>

* expression.cs (ArrayCreation::ValidateInitializers): Update to perform
some type checking etc.

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

* expression.cs (ArrayCreation::ValidateInitializers): Implement
bits to provide dimension info is user skips doing that.

Update second constructor to store the rank correctly.

2001-11-16  Ravi Pratap  <ravi@ximian.com>

* expression.cs (ArrayCreation::ValidateInitializers): Poke around
and try to implement.

* ../errors/cs0150.cs : Add.

* ../errors/cs0178.cs : Add.

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

22 years agoAdd files for the 2 new errors.
Ravi Pratap M [Sun, 18 Nov 2001 10:14:58 +0000 (10:14 -0000)]
Add files for the 2 new errors.

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

22 years agoAdd test-43
Miguel de Icaza [Sat, 17 Nov 2001 11:50:52 +0000 (11:50 -0000)]
Add test-43

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

22 years agoMore cleanups
Miguel de Icaza [Sat, 17 Nov 2001 01:39:27 +0000 (01:39 -0000)]
More cleanups

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

22 years agoAdd love
Miguel de Icaza [Sat, 17 Nov 2001 01:36:49 +0000 (01:36 -0000)]
Add love

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

22 years agoFlush
Miguel de Icaza [Sat, 17 Nov 2001 01:23:34 +0000 (01:23 -0000)]
Flush

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

22 years ago2001-11-16 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sat, 17 Nov 2001 01:16:14 +0000 (01:16 -0000)]
2001-11-16  Miguel de Icaza  <miguel@ximian.com>

* statement.cs: Implement foreach on multi-dimensional arrays.

* parameter.cs (Parameters.GetParameterByName): Also lookup the
name of the params argument.

* expression.cs: Use EmitStoreOpcode to get the right opcode while
initializing the array.

(ArrayAccess.EmitStoreOpcode): move the opcode generation here, so
we can use this elsewhere.

* statement.cs: Finish implementation of foreach for single
dimension arrays.

* cs-parser.jay: Use an out-of-band stack to pass information
around, I wonder why I need this.

foreach_block: Make the new foreach_block the current_block.

* parameter.cs (Parameters.GetEmptyReadOnlyParameters): New
function used to return a static Parameters structure.  Used for
empty parameters, as those are created very frequently.

* cs-parser.jay, class.cs: Use GetEmptyReadOnlyParameters

2001-11-16  Miguel de Icaza  <miguel@ximian.com>

* test-34.cs: Improve this test to check if we are actually
walking over the arguments in foreach.

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

22 years ago2001-11-16 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Fri, 16 Nov 2001 11:00:32 +0000 (11:00 -0000)]
2001-11-16            Gaurav Vaish <gvaish@iitk.ac.in>

* Calendar.cs         Unimplemented functions throw NotImplementedException

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

22 years ago2001-11-16 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Fri, 16 Nov 2001 10:56:52 +0000 (10:56 -0000)]
2001-11-16  Dietmar Maurer  <dietmar@ximian.com>

* x86.brg (STRING_ARG): impl. a way to marshal strings. This
will be extensible to handle all possible kinds of marshalling
requirements.

* jit.c (map_call_type): added MB_TERM_CALL_VOID
(mono_analyze_stack): impl. LDELEMA, reimplemented CALL
instructions to handle this arguments more effectively.

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

22 years agoMassive update
Miguel de Icaza [Fri, 16 Nov 2001 06:51:40 +0000 (06:51 -0000)]
Massive update

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

22 years ago2001-11-15 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Fri, 16 Nov 2001 02:46:27 +0000 (02:46 -0000)]
2001-11-15  Ravi Pratap  <ravi@ximian.com>

* interface.cs : Default modifier is private, not public. The
make verify test passes again.

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

22 years ago2001-11-15 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 15 Nov 2001 13:05:20 +0000 (13:05 -0000)]
2001-11-15  Ravi Pratap  <ravi@ximian.com>

* support.cs (ReflectionParameters): Fix logic to determine
whether the last parameter is a params one. Test 9 passes again.

* delegate.cs (Populate): Register the builders we define with
RegisterParameterForBuilder. Test 19 passes again.

* cs-parser.jay (property_declaration): Reference $6 instead
of $$ to get at the location.

(indexer_declaration): Similar stuff.

(attribute): Ditto.

* class.cs (Property): Register parameters for the Get and Set methods
if they exist. Test 23 passes again.

* expression.cs (ArrayCreation::Emit): Pass null for the method in the
call to EmitArguments as we are sure there aren't any params arguments.
Test 32 passes again.

* suppor.cs (ParameterDesc, ParameterModifier): Fix trivial bug causing
IndexOutOfRangeException.

* class.cs (Property::Define): Register property using TypeManager.RegisterProperty
Test 33 now passes again.

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

22 years ago*** empty log message ***
Ravi Pratap M [Thu, 15 Nov 2001 12:04:47 +0000 (12:04 -0000)]
*** empty log message ***

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

22 years ago2001-11-15 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 15 Nov 2001 11:53:24 +0000 (11:53 -0000)]
2001-11-15  Miguel de Icaza  <miguel@ximian.com>

* cs-parser.jay: Kill horrendous hack ($??? = lexer.Location) that
broke a bunch of things.  Will have to come up with a better way
of tracking locations.

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

22 years ago2001-11-15 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Thu, 15 Nov 2001 11:11:20 +0000 (11:11 -0000)]
2001-11-15  Dietmar Maurer  <dietmar@ximian.com>

* Makefile.am (mono_SOURCES): renamed testjit to mono

* x86.brg: added debugging support

* testjit.c: added support for value types, CFG improvements

* emit-x86.c (enter_method): handle value types
(tree_allocate_regs): impl. a better way to handle chain rules

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

22 years agoForgot some wait tidy-up
Dick Porter [Thu, 15 Nov 2001 09:56:23 +0000 (09:56 -0000)]
Forgot some wait tidy-up

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

22 years ago2001-11-15 Dick Porter <dick@ximian.com>
Dick Porter [Thu, 15 Nov 2001 09:46:14 +0000 (09:46 -0000)]
2001-11-15  Dick Porter  <dick@ximian.com>

* mutexes.c: Implement mutexes

* threads.c:
* semaphores.c:
* misc.c: Factor out some common code

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

22 years ago2001-11-15 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Thu, 15 Nov 2001 07:48:37 +0000 (07:48 -0000)]
2001-11-15                        Gaurav Vaish <gvaish@iitk.ac.in>

* AdRotator.cs, BoundColumn.cs, Button.cs, ButtonColumn.cs, DataList.cs, WebControl.cs
                         - the dummy / unimplemented / partially implemented functions now throw NotImplementedException.

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

22 years agoUpdated
Miguel de Icaza [Wed, 14 Nov 2001 23:32:20 +0000 (23:32 -0000)]
Updated

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

22 years ago2001-11-09 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Wed, 14 Nov 2001 23:07:10 +0000 (23:07 -0000)]
2001-11-09  Miguel de Icaza  <miguel@ximian.com>

* enum.cs (Enum.Emit): Delay the lookup of loc until we run into
an error.  This removes the lookup from the critical path.

* cs-parser.jay: Removed use of temporary_loc, which is completely
broken.

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

22 years ago2001-11-14 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Wed, 14 Nov 2001 22:59:35 +0000 (22:59 -0000)]
2001-11-14  Miguel de Icaza  <miguel@ximian.com>

* support.cs (ReflectionParameters.ParameterModifier): Report
whether the argument is a PARAMS argument or not.

* class.cs: Set the attribute `ParamArrayAttribute' on the
parameter argument.

* typemanager.cs: Define param_array_type (ParamArrayAttribute)
and cons_param_array_attribute (ConstructorInfo for
ParamArrayAttribute).,

* codegen.cs: Emit the return using the `Return' statement, that
way we can report the error correctly for missing return values.

* class.cs (Method.Emit): Clean up.

* expression.cs (Argument.Resolve): Take another argument: the
location where this argument is used.  Notice that this is not
part of the "Argument" class as to reduce the size of the
structure (we know the approximate location anyways).

Test if the argument is a variable-reference, if not, then
complain with a 206.

(Argument.Emit): Emit addresses of variables.

(Argument.FullDesc): Simplify.

(Invocation.DoResolve): Update for Argument.Resolve.

(ElementAccess.DoResolve): ditto.

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

22 years agoForce test-34 to fail and exhibit the bug
Miguel de Icaza [Wed, 14 Nov 2001 22:58:59 +0000 (22:58 -0000)]
Force test-34 to fail and exhibit the bug

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

22 years ago2001-11-14 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Wed, 14 Nov 2001 20:35:42 +0000 (20:35 -0000)]
2001-11-14  Miguel de Icaza  <miguel@ximian.com>

* Decimal.cs, Double.cs, Byte.cs, Char.cs, Int16, UInt16, Int32,
UInt32, Int64, UInt64, SByte, Single (CompareTo): Throw the
exception if the value is null too.

* Char.cs (CompareTo): ditto.

* ApplicationException.cs: Added constructor that does serialization.

* ParamArrayAttribute.cs: Define attribute correctly.

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

22 years ago2001-11-14 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Wed, 14 Nov 2001 19:00:04 +0000 (19:00 -0000)]
2001-11-14  Miguel de Icaza  <miguel@ximian.com>

* delegate.cs (DelegateInvocation.Emit): Invocation of Invoke
method should be virtual, as this method is always virtual.

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

22 years agoWed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Wed, 14 Nov 2001 15:18:56 +0000 (15:18 -0000)]
Wed Nov 14 19:21:26 CET 2001 Paolo Molaro <lupus@ximian.com>

* x86/tramp.c: handle boolean as a return value.
* x96/x86-codegen.c: x86_widen_memindex() added.

Wed Nov 14 19:23:00 CET 2001 Paolo Molaro <lupus@ximian.com>

* interp.c: move the stack frame dumping code to a function so it can
be called from the debugger. Fix virtual method lookup for interfaces.
Throw exceptions instead of aborting in more places.
Print also the message in an exception. Updates for field renames in
corlib.

Wed Nov 14 19:26:06 CET 2001 Paolo Molaro <lupus@ximian.com>

* class.h, class.c: add a max_interface_id to MonoClass.
* icall.c: rename my_mono_new_object() to my_mono_new_mono_type()
since it's used to do that. Added mono_type_type_from_obj().
Make GetType() return NULL instead of segfaulting if the type was not
found. Handle simple arrays in assQualifiedName.
* object.h: add a struct to represent an Exception.
* reflection.c: output call convention in method signature.
Add code to support P/Invoke methods and fixed offsets for fields.

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

22 years agoWed Nov 14 16:30:27 CET 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Wed, 14 Nov 2001 15:18:05 +0000 (15:18 -0000)]
Wed Nov 14 16:30:27 CET 2001 Paolo Molaro <lupus@ximian.com>

* Linux.cs: a '/' is a valid char in a file path.

Wed Nov 14 16:31:19 CET 2001 Paolo Molaro <lupus@ximian.com>

* AppDomain.cs: rename dummy interface _AppDomain to AppDomain_Intf.
* Array.cs: fix Array.Copy.
* AssemblyLoadEventArgs.cs: rename field.
* CLSCompliantAttribute.cs: use correct name for the class.
* Char.cs: fix IsLetter.
* Console.cs, DateTime.cs, Decimal.cs, IConvertible.cs, Math.cs,
SByte.cs, UInt16.cs, UInt32.cs, UInt64.cs, UIntPtr.cs: CLSCompliant updates.
* Convert.cs: CLSCompliant updates, add ChangeType() methods.
* Delegate.cs: renamed target field to m_target.
* Enum.cs: added missing methods.
* MonoType.cs: add a constructor and some needed properties.
* Object.cs: implement GetType().
* String.cs: CLSCompliant updates. Fixes everywhere to remove the
ending 0 char.
* Type.cs: add missing methods/properties.

Wed Nov 14 16:45:49 CET 2001 Paolo Molaro <lupus@ximian.com>

* ArrayList.cs: implement ArrayListEnumerator.
* Hashtable.cs: hardcode the prime number table.

Wed Nov 14 16:47:07 CET 2001 Paolo Molaro <lupus@ximian.com>

* Calendar.cs: CLSCompliant updates.

Wed Nov 14 16:47:47 CET 2001 Paolo Molaro <lupus@ximian.com>

* CheckPermission.cs: disable ModeAccess() code: it's wrong.
* FileStream.cs: only trow an exception if the read failed in ReadByte().
* StreamReader.cs: implement Peek and Read.
* TextWriter.cs: CLSCompliant updates.

Wed Nov 14 16:53:28 CET 2001 Paolo Molaro <lupus@ximian.com>

* Assembly.cs: implement some of the Load() methods.
* ConstructorInfo.cs: some missing stubs and fields.
* FieldInfo.cs: IsInitOnly property.
* ParameterInfo.cs: stubs for missing properties.
* ParameterModifier.cs: implemented class.

Wed Nov 14 17:01:45 CET 2001 Paolo Molaro <lupus@ximian.com>

* ConstructorBuilder.cs: added missing stubs and some implementation.
* CustomAttributeBuilder.cs: added.
* EventBuilder.cs: added.
* FieldBuilder.cs: updates.
* MethodBuilder.cs: stuff to implement P/Invoke methods.
* ModuleBuilder.cs: added GetArrayMethod() stub.
* ParameterBuilder.cs, PropertyBuilder.cs: updates.
* TypeBuilder.cs: updates and stubs.

Wed Nov 14 17:02:57 CET 2001 Paolo Molaro <lupus@ximian.com>

* CallingConvention.cs: add missing Winapi.

Wed Nov 14 17:03:30 CET 2001 Paolo Molaro <lupus@ximian.com>

* IFormatterConverter.cs, SerializationInfo.cs: CLSCompliant updates.

Wed Nov 14 17:04:30 CET 2001 Paolo Molaro <lupus@ximian.com>

* MD5CryptoServiceProvider.cs, SHA1CryptoServiceProvider.cs,
SHA256Managed.cs: CLSCompliant updates.

Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>

* Encoding.cs: renamed some fields.
* StringBuilder.cs: CLSCompliant updates.

Wed Nov 14 17:06:18 CET 2001 Paolo Molaro <lupus@ximian.com>

* Overlapped.cs, ThreadPool.cs, Timer.cs: CLSCompliant updates.

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

22 years agoAdded a delegate test that fails
Miguel de Icaza [Wed, 14 Nov 2001 14:21:38 +0000 (14:21 -0000)]
Added a delegate test that fails

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

22 years agoUpdate the news
Miguel de Icaza [Wed, 14 Nov 2001 13:51:53 +0000 (13:51 -0000)]
Update the news

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

22 years agoAdd test that checks arrays
Miguel de Icaza [Wed, 14 Nov 2001 02:14:57 +0000 (02:14 -0000)]
Add test that checks arrays

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

22 years ago2001-11-13 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Wed, 14 Nov 2001 01:41:24 +0000 (01:41 -0000)]
2001-11-13  Miguel de Icaza  <miguel@ximian.com>

* statement.cs (Foreach.Emit): Use EmitAssign instead of Store.

* expression.cs (ParameterReference): Drop IStackStorage and implement
IAssignMethod instead.

(LocalVariableReference): ditto.

* ecore.cs (FieldExpr): Drop IStackStorage and implement
IAssignMethod instead.

2001-11-13  Miguel de Icaza <miguel@ximian.com>

* parameter.cs, expression.cs, class.cs, ecore.cs: Made all
enumerations that are used in heavily used structures derive from
byte in a laughable and pathetic attempt to reduce memory usage.
This is the kind of pre-optimzations that you should not do at
home without adult supervision.

* expression.cs (UnaryMutator): New class, used to handle ++ and
-- separatedly from the other unary operators.  Cleans up the
code, and kills the ExpressionStatement dependency in Unary.

(Unary): Removed `method' and `Arguments' from this class, making
it smaller, and moving it all to SimpleCall, so I can reuse this
code in other locations and avoid creating a lot of transient data
strucutres when not required.

* cs-parser.jay: Adjust for new changes.

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

* enum.cs (Enum.Populate): If there is a failure during
definition, return

* cs-parser.jay (opt_enum_base): we used to catch type errors
here, but this is really incorrect.  The type error should be
catched during semantic analysis.

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

22 years agoUpdated the test-42 to be more comprehensive, and also documented
Miguel de Icaza [Wed, 14 Nov 2001 01:32:36 +0000 (01:32 -0000)]
Updated the test-42 to be more comprehensive, and also documented
which tests we do not pass currently, and put some "holes" into the
list to make it obvious.

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

22 years agoadded last changes
Martin Weindel [Tue, 13 Nov 2001 18:34:45 +0000 (18:34 -0000)]
added last changes

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

22 years ago2001-11-13 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Tue, 13 Nov 2001 13:50:06 +0000 (13:50 -0000)]
2001-11-13  Ravi Pratap  <ravi@ximian.com>

* cs-parser.jay (operator_declarator, conversion_operator_declarator): Set
current_local_parameters as expected since I, in my stupidity, had forgotten
to do this :-)

* attribute.cs (GetValidPlaces): Fix stupid bug.

* class.cs (Method::Emit): Perform check on applicability of attributes.

(Constructor::Emit): Ditto.

(Field::Emit): Ditto.

(Field.Location): Store location information.

(Property, Event, Indexer, Operator): Ditto.

* cs-parser.jay (field_declaration): Pass in location for each field.

* ../errors/cs0592.cs : Add.

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

* typemanager.cs (attribute_usage_type): New static member for System.AttributeUsage.

(InitCoreTypes): Update accordingly.

(RegisterAttrType, LookupAttr): Implement.

* attribute.cs (Attribute.Targets, AllowMultiple, Inherited): New fields to hold
info about the same.

(Resolve): Update to populate the above as necessary.

(Error592): Helper.

(GetValidPlaces): Helper to the above.

(CheckAttribute): Implement to perform validity of attributes on declarative elements.

* class.cs (TypeContainer::Emit): Update attribute emission code to perform checking etc.

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

22 years agoAdd. We now properly check attribute placing.
Ravi Pratap M [Tue, 13 Nov 2001 13:47:18 +0000 (13:47 -0000)]
Add. We now properly check attribute placing.

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

22 years ago2001-11-13 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Tue, 13 Nov 2001 13:45:55 +0000 (13:45 -0000)]
2001-11-13  Ravi Pratap  <ravi@ximian.com>

* test-7.cs : Re-write to make the tests more robust.

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

22 years ago2001-11-13 Dick Porter <dick@ximian.com>
Dick Porter [Tue, 13 Nov 2001 13:07:35 +0000 (13:07 -0000)]
2001-11-13  Dick Porter  <dick@ximian.com>

* threads.c: Implement TLS.  Implement GetCurrentThreadId(), and
GetCurrentThread() by maintaining a hash of thread handles.

* threads.h: Define thread and process creation flags

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

22 years ago2001-11-13 Dick Porter <dick@ximian.com>
Dick Porter [Tue, 13 Nov 2001 09:04:31 +0000 (09:04 -0000)]
2001-11-13  Dick Porter  <dick@ximian.com>

* configure.in: Some more tests for pthread features
(specifically, glibc 2.1 doesnt define pthread_mutex_timedlock but
still needs _GNU_SOURCE for PTHREAD_MUTEX_RECURSIVE)

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

22 years agoAdd another test
Miguel de Icaza [Tue, 13 Nov 2001 01:28:35 +0000 (01:28 -0000)]
Add another test

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

22 years agoMake the test not pass, Ravi, check this please
Miguel de Icaza [Tue, 13 Nov 2001 01:14:02 +0000 (01:14 -0000)]
Make the test not pass, Ravi, check this please

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

22 years agoAnother test that we dont pass
Miguel de Icaza [Tue, 13 Nov 2001 00:56:03 +0000 (00:56 -0000)]
Another test that we dont pass

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

22 years ago2001-11-13 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Mon, 12 Nov 2001 17:32:40 +0000 (17:32 -0000)]
2001-11-13 Gaurav Vaish <gvaish@iitk.ac.in>

** Added files ChangeLog's to the namespaces I am working on.

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

22 years ago2001:11:13 Gaurav Vaish <gvaish@iitk.ac.in>
Gaurav Vaish [Mon, 12 Nov 2001 15:00:13 +0000 (15:00 -0000)]
2001:11:13                    Gaurav Vaish <gvaish@iitk.ac.in>

* Calendar.cs          Fixed some bugs

* TODO                 Removed

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

22 years ago2001-12-11 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Mon, 12 Nov 2001 13:29:05 +0000 (13:29 -0000)]
2001-12-11  Ravi Pratap  <ravi@ximian.com>

* attribute.cs (Attribute::Resolve): Expand to handle named arguments too.

* ../errors/cs0617.cs : Add.

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

22 years ago2001-11-12 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Mon, 12 Nov 2001 13:27:22 +0000 (13:27 -0000)]
2001-11-12  Ravi Pratap  <ravi@ximian.com>

* test-39.cs : Update to test named arguments too.

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

22 years agoAdd for the new error we catch in relation to named arguments.
Ravi Pratap M [Mon, 12 Nov 2001 13:26:44 +0000 (13:26 -0000)]
Add for the new error we catch in relation to named arguments.

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

22 years ago2001-11-12 Dick Porter <dick@ximian.com>
Dick Porter [Mon, 12 Nov 2001 12:05:50 +0000 (12:05 -0000)]
2001-11-12  Dick Porter  <dick@ximian.com>

* critical-sections.c: Implement critical sections

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