mono.git
22 years ago*** empty log message ***
Dietmar Maurer [Wed, 10 Oct 2001 07:51:37 +0000 (07:51 -0000)]
*** empty log message ***

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

22 years ago2001-10-10 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Wed, 10 Oct 2001 07:47:05 +0000 (07:47 -0000)]
2001-10-10  Dietmar Maurer  <dietmar@ximian.com>

        * interp.c (get_virtual_method): use the vtable

        * metadata.c (mono_metadata_interfaces_from_typedef): also return the
        number of interfaces.

        * class.h: merged MonoArrayClass into MonoClass

        * class.c (mono_class_create_from_typedef): compute the vtable size and
        allocate space to include the vtable inside MonoClass
        (mono_class_metadata_init): initialize the vtable

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

22 years agoFix up test-7.cs to use a double instead of float for explicit
Ravi Pratap M [Wed, 10 Oct 2001 03:43:32 +0000 (03:43 -0000)]
Fix up test-7.cs to use a double instead of float for explicit
conversion testing. We don;t parse float literals yet so ...

All tests pass again.

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

22 years ago2001-10-10 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Wed, 10 Oct 2001 02:36:47 +0000 (02:36 -0000)]
2001-10-10  Miguel de Icaza  <miguel@ximian.com>

* makefile: Renamed the compiler to `mcs.exe' instead of compiler.exe

* expression.cs (ImplicitReferenceConversion): handle null as well
as a source to convert to any reference type.

* statement.cs (Return): Perform any implicit conversions to
expected return type.

Validate use of return statement.

* codegen.cs (EmitContext): Pass the expected return type here.

* class.cs (Method, Constructor, Property): Pass expected return
type to EmitContext.

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

* expression.cs: Make DoResolve take an EmitContext instead of a
TypeContainer.

Replaced `l' and `location' for `loc', for consistency.

(Error, Warning): Remove unneeded Tc argument.

* assign.cs, literal.cs, constant.cs: Update to new calling
convention.

* codegen.cs: EmitContext now contains a flag indicating whether
code is being generated in a static method or not.

* cs-parser.jay: DecomposeQI, new function that replaces the old
QualifiedIdentifier.  Now we always decompose the assembled
strings from qualified_identifier productions into a group of
memberaccesses.

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

* rootcontext.cs: Deal with field-less struct types correctly now
by passing the size option to Define Type.

* class.cs: Removed hack that created one static field.

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

* statement.cs: Moved most of the code generation here.

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

22 years agoSmall typo in PercentPositivePattern and CurrencyPositivePattern
Derek Holden [Tue, 9 Oct 2001 21:35:45 +0000 (21:35 -0000)]
Small typo in PercentPositivePattern and CurrencyPositivePattern

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

22 years agoMissing file: this is what you get working on holidays :-(
Paolo Molaro [Tue, 9 Oct 2001 10:28:29 +0000 (10:28 -0000)]
Missing file: this is what you get working on holidays :-(

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

22 years ago2001-10-09 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Tue, 9 Oct 2001 02:55:28 +0000 (02:55 -0000)]
2001-10-09  Ravi Pratap  <ravi@ximian.com>

* expression.cs (New::DoResolve): Revert changes for array creation, doesn't
seem very right.

(ElementAccess): Remove useless bits for now - keep checks as the spec
says.

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

22 years agoMon Oct 8 20:27:50 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Mon, 8 Oct 2001 14:33:48 +0000 (14:33 -0000)]
Mon Oct 8 20:27:50 CEST 2001 Paolo Molaro <lupus@ximian.com>

* configure.in: define NO_UNALIGNED_ACCESS for platforms that
can't read on unaligned boundaries

Mon Oct 8 16:12:38 CEST 2001 Paolo Molaro <lupus@ximian.com>

* metadata.c, metadata.h: use MonoArrayType to describe the shape of an array.
Guard against calling bsearch with a NULL pointer (pointed out by Laurent Rioux, smoux).
* image.c: endian fixes by Laurent Rioux.
* object.h, object.c: rename MonoStringObject to MonoString and
MonoArrayObject to MonoArray. Change some function names to conform to
the style mono_<object>_<action>. mono_string_new_utf16 () takes a
guint16* as first argument, so don't use char*.
Provide macros to do the interesting things on arrays in a portable way.
* threads-pthread.c: updates for the API changes and #include <sched.h>
(required for sched_yield()).
* icall.c: updates for the API changes above.
* Makefile.am, mono-endian.c. mono-endian.h: include unaligned read routines for
platforms that need them.

Mon Oct 8 16:13:55 CEST 2001 Paolo Molaro <lupus@ximian.com>

* get.c, get.h: MonoArray changed in MonoArrayType.
* main.c: guard against calling bsearch with a NULL pointer
(pointed out by Laurent Rioux, smoux).

Mon Oct 8 16:13:07 CEST 2001 Paolo Molaro <lupus@ximian.com>

* x86/tramp.c: remove mono_get_ansi_string () and use
mono_string_to_utf8 () instead.

Mon Oct 8 16:14:40 CEST 2001 Paolo Molaro <lupus@ximian.com>

* interp.c: use the accessors provided in object.h to deal with
MonoArrays. Updates for API renames in metadata. Throw exception
in ldelema if index is out of bounds.

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

22 years ago2001-10-07 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Mon, 8 Oct 2001 13:02:52 +0000 (13:02 -0000)]
2001-10-07  Ravi Pratap  <ravi@ximian.com>

* cs-parser.jay (type_suffix*): Remove - they are redundant. Use
rank_specifiers instead.

(rank_specifiers): Change the order in which the rank specifiers are stored

(local_variable_declaration): Use opt_rank_specifier instead of type_suffixes.

* expression.cs (ElementAccess): Implement the LValue interface too.

2001-10-06  Ravi Pratap  <ravi@ximian.com>

* expression.cs (ConvertExplicitStandard): Add. Same as ConvertExplicit
except that user defined conversions are not included.

(UserDefinedConversion): Update to use the ConvertExplicitStandard to
perform the conversion of the return type, if necessary.

(New::DoResolve): Check whether we are creating an array or an object
and accordingly do the needful.

(New::Emit): Same here.

(New::DoResolve): Implement guts of array creation.

(New::FormLookupType): Helper function.

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

22 years agoAdded copyright notices.
Paolo Molaro [Mon, 8 Oct 2001 12:02:19 +0000 (12:02 -0000)]
Added copyright notices.

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

22 years agoFixed syntax errors
Dick Porter [Mon, 8 Oct 2001 09:28:07 +0000 (09:28 -0000)]
Fixed syntax errors

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

22 years agoMon Oct 8 10:43:23 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Mon, 8 Oct 2001 04:48:43 +0000 (04:48 -0000)]
Mon Oct 8 10:43:23 CEST 2001 Paolo Molaro <lupus@ximian.com>

* class.c: set the correct type for all the fundamental
type when loading the class.

Mon Oct 8 10:44:25 CEST 2001 Paolo Molaro <lupus@ximian.com>

* interp.c: fixes for changes in metadata.

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

22 years ago2001-10-07 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sun, 7 Oct 2001 21:01:57 +0000 (21:01 -0000)]
2001-10-07  Miguel de Icaza  <miguel@ximian.com>

* codegen.cs: Added support for try/catch/finalize and throw.

* cs-parser.jay: Added support for try/catch/finalize.

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

22 years agoAdd AllTests file from Mario
Miguel de Icaza [Sun, 7 Oct 2001 02:13:01 +0000 (02:13 -0000)]
Add AllTests file from Mario

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

22 years agoMake the build pass
Miguel de Icaza [Sun, 7 Oct 2001 01:54:54 +0000 (01:54 -0000)]
Make the build pass

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

22 years agoSome warning reduction:
Miguel de Icaza [Sun, 7 Oct 2001 01:39:01 +0000 (01:39 -0000)]
Some warning reduction:

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

* Exception.cs: Implement bits of serialization.

* RuntimeFieldHandle.cs: Implement Serialization features.

* Type.cs: Implement TypeHandle property.

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

* AssemblyBuilder.cs: Reformatted.

Added override keywords to those that needed them.

Removed methods that we do not override, but just inherit

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

* Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
UnicodeEncoding.cs: Corrected API.

* UTF8Encoding.cs: Checked in changes from Rafael.

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

22 years agoAdded updated UTF8Encoding from Rafael
Miguel de Icaza [Sun, 7 Oct 2001 00:36:47 +0000 (00:36 -0000)]
Added updated UTF8Encoding from Rafael

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

22 years agoUpdate TODO
Miguel de Icaza [Sun, 7 Oct 2001 00:23:41 +0000 (00:23 -0000)]
Update TODO

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

22 years ago2001-10-07 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sun, 7 Oct 2001 00:12:49 +0000 (00:12 -0000)]
2001-10-07  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (UserCast): This user cast was not really doing
what it was supposed to do.  Which is to be born in fully resolved
state.  Parts of the resolution were being performed at Emit time!

Fixed this code.

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

22 years ago* updated status
Thomas Neidhart [Sat, 6 Oct 2001 19:04:22 +0000 (19:04 -0000)]
* updated status

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

22 years ago* AsymmetricAlgorithm.cs: Initial version
Thomas Neidhart [Sat, 6 Oct 2001 17:25:25 +0000 (17:25 -0000)]
* AsymmetricAlgorithm.cs: Initial version
* AsymmetricKeyExchangeDeformatter.cs: Initial version
* AsymmetricKeyExchangeFormatter.cs: Initial version
* AsymmetricSignatureDeformatter.cs: Initial version
* AsymmetricSignatureFormatter.cs: Initial version
* PaddingMode.cs: Added PaddingMode.None
* SignatureDescription.cs: Initial version
* SymmetricAlgorithm.cs: Implemented CreateDecryptor, CreateEncryptor and Create() methods

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

22 years agoFixed thinko in usec/nsec time compare in pthread_mutex_timedlock()
Dick Porter [Sat, 6 Oct 2001 06:14:04 +0000 (06:14 -0000)]
Fixed thinko in usec/nsec time compare in pthread_mutex_timedlock()

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

22 years agoSymmetricAlgorithm.cs: Implemented CreateDecryptor and CreateEncryptor methods
Thomas Neidhart [Sat, 6 Oct 2001 05:40:36 +0000 (05:40 -0000)]
SymmetricAlgorithm.cs: Implemented CreateDecryptor and CreateEncryptor methods
CryptographicException.cs: Initial version
CryptographicUnknownOperationException.cs: Initial version

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

22 years agoWork to get foreach working and analyzed.
Miguel de Icaza [Fri, 5 Oct 2001 21:13:47 +0000 (21:13 -0000)]
Work to get foreach working and analyzed.

ChangeLog comming later

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

22 years ago2001-10-05 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Fri, 5 Oct 2001 17:03:10 +0000 (17:03 -0000)]
2001-10-05  Miguel de Icaza  <miguel@ximian.com>

* expression.cs: Implicity convert the result from UserCast.

Include the test from Ravi that exhibits the bug.

New classes from Toelen.

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

22 years agoMore files from Toelen
Miguel de Icaza [Fri, 5 Oct 2001 16:09:01 +0000 (16:09 -0000)]
More files from Toelen

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

22 years ago2001-10-05 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Fri, 5 Oct 2001 15:46:29 +0000 (15:46 -0000)]
2001-10-05  Ravi Pratap  <ravi@ximian.com>

* expression.cs (Expression::FindMostEncompassingType): Fix bug which
prevented it from working correctly.

(ConvertExplicit): Make the first try, a call to ConvertImplicitStandard, not
merely ConvertImplicit.

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

22 years ago2001-10-05 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Fri, 5 Oct 2001 15:41:21 +0000 (15:41 -0000)]
2001-10-05  Ravi Pratap  <ravi@ximian.com>

* test-16.cs : Update to exercise the code which selects the best
conversion operator based on "most encompassing/encompassed type"

* test-7.cs : Update here too.

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

22 years ago*** empty log message ***
Miguel de Icaza [Fri, 5 Oct 2001 15:01:37 +0000 (15:01 -0000)]
*** empty log message ***

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

22 years agoUpdated status
Dick Porter [Fri, 5 Oct 2001 12:44:18 +0000 (12:44 -0000)]
Updated status

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

22 years ago2001-10-05 Dick Porter <dick@ximian.com>
Dick Porter [Fri, 5 Oct 2001 12:15:07 +0000 (12:15 -0000)]
2001-10-05  Dick Porter  <dick@ximian.com>

* threads-pthread.c (pthread_mutex_timedlock): Simple
compatibility version for C libraries that lack this call.

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

22 years agoAdd new files from Chris Hynes
Miguel de Icaza [Fri, 5 Oct 2001 11:14:03 +0000 (11:14 -0000)]
Add new files from Chris Hynes

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

22 years agoAdd new files from Chris Hynes
Miguel de Icaza [Fri, 5 Oct 2001 11:07:40 +0000 (11:07 -0000)]
Add new files from Chris Hynes

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

22 years agoMore News Items
Miguel de Icaza [Fri, 5 Oct 2001 10:54:02 +0000 (10:54 -0000)]
More News Items

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

22 years ago2001-10-05 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Fri, 5 Oct 2001 08:39:39 +0000 (08:39 -0000)]
2001-10-05  Ravi Pratap  <ravi@ximian.com>

* expression.cs (Expression::ImplicitUserConversion): Rename to
UserDefinedConversion.

(Expression::UserDefinedConversion): Take an extra argument specifying
whether we look for explicit user conversions too.

(Expression::ImplicitUserConversion): Make it a call to UserDefinedConversion.

(UserDefinedConversion): Incorporate support for user defined explicit conversions.

(ExplicitUserConversion): Make it a call to UserDefinedConversion
with the appropriate arguments.

* cs-parser.jay (cast_expression): Record location too.

* expression.cs (Cast): Record location info.

(Expression::ConvertExplicit): Take location argument.

(UserImplicitCast): Change name to UserCast. Take an extra constructor argument
to determine if we are doing explicit conversions.

(UserCast::Emit): Update accordingly.

(Expression::ConvertExplicit): Report an error if everything fails.

* ../errors/cs0030.cs : Add.

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

22 years ago2001-10-05 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Fri, 5 Oct 2001 08:37:06 +0000 (08:37 -0000)]
2001-10-05  Ravi Pratap  <ravi@ximian.com>

* test-7.cs : Update to do explicit conversion tests.

* makefile : small fix.

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

22 years agoAdd a file for error CS0030
Ravi Pratap M [Fri, 5 Oct 2001 08:35:28 +0000 (08:35 -0000)]
Add a file for error CS0030

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

22 years agomore tests
Dietmar Maurer [Fri, 5 Oct 2001 05:03:42 +0000 (05:03 -0000)]
more tests

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

22 years agoUpdated
Miguel de Icaza [Fri, 5 Oct 2001 02:03:44 +0000 (02:03 -0000)]
Updated

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

22 years agoMore News Items
Miguel de Icaza [Fri, 5 Oct 2001 01:52:52 +0000 (01:52 -0000)]
More News Items

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

22 years agoAdded SymmetricAlgorithm from Thomas Neidhart
Miguel de Icaza [Fri, 5 Oct 2001 01:49:16 +0000 (01:49 -0000)]
Added SymmetricAlgorithm from Thomas Neidhart

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

22 years ago2001-10-04 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 4 Oct 2001 21:39:50 +0000 (21:39 -0000)]
2001-10-04  Miguel de Icaza  <miguel@ximian.com>

* modifiers.cs: If the ABSTRACT keyword is present, also set the
virtual and newslot bits.

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

22 years agoUpdate todo
Miguel de Icaza [Thu, 4 Oct 2001 21:29:13 +0000 (21:29 -0000)]
Update todo

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

22 years ago2001-10-04 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 4 Oct 2001 21:24:28 +0000 (21:24 -0000)]
2001-10-04  Miguel de Icaza  <miguel@ximian.com>

* class.cs (TypeContainer::RegisterRequiredImplementations):
Record methods we need.

(TypeContainer::MakeKey): Helper function to make keys for
MethodBases, since the Methodbase key is useless.

(TypeContainer::Populate): Call RegisterRequiredImplementations
before defining the methods.

Create a mapping for method_builders_to_methods ahead of time
instead of inside a tight loop.

(::RequireMethods):  Accept an object as the data to set into the
hashtable so we can report interface vs abstract method mismatch.

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

22 years agoAdd more tests
Miguel de Icaza [Thu, 4 Oct 2001 21:21:13 +0000 (21:21 -0000)]
Add more tests

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

22 years agoAdd more errors, and fix some error tests
Miguel de Icaza [Thu, 4 Oct 2001 20:34:02 +0000 (20:34 -0000)]
Add more errors, and fix some error tests

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

22 years agoFlush
Miguel de Icaza [Thu, 4 Oct 2001 17:51:34 +0000 (17:51 -0000)]
Flush

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

22 years agoUPdate web page
Miguel de Icaza [Thu, 4 Oct 2001 17:47:44 +0000 (17:47 -0000)]
UPdate web page

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

22 years agoTemporary kludge to work around older linuxthreads implementations that
Dick Porter [Thu, 4 Oct 2001 14:27:02 +0000 (14:27 -0000)]
Temporary kludge to work around older linuxthreads implementations that
are missing pthread_mutex_timedlock()

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

22 years agoUpdates and fixes.
Paolo Molaro [Thu, 4 Oct 2001 13:34:37 +0000 (13:34 -0000)]
Updates and fixes.

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

22 years agoThu Oct 4 19:10:30 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Thu, 4 Oct 2001 13:32:23 +0000 (13:32 -0000)]
Thu Oct 4 19:10:30 CEST 2001 Paolo Molaro <lupus@ximian.com>

* class.c: MonoTypes stored in MonoClass are stored as
fundamental MonoTypes when the class represents a
fundamental type (System.Int32, ...).
The TypeHandle return by ldtoken is a MonoType*.
* icall.c: ves_icall_get_data_chunk () write out all the
PE/COFF stuff. Implement ves_icall_define_method (),
ves_icall_set_method_body (), ves_icall_type_from_handle ().
* image.c: properly skip unknown streams.
* loader.h, loader.c: add type_class to mono_defaults.
* metadata.c, metadata.h: export compute_size () as
mono_metadata_compute_size () with a better interface.
Typo and C&P fixes.
* pedump.c: don't try to print the entry point RVA if there is no entry point.
* reflection.c, reflection.h: many cleanups, fixes, output method
signatures and headers, typedef and typeref info, compress the metadata
tables, output all the heap streams, cli header etc.
* row-indexes.h: typo fixes.

Thu Oct 4 19:09:13 CEST 2001 Paolo Molaro <lupus@ximian.com>

* x86/tramp.c: allow marshalling valuetypes if they are
4 bytes long.

Thu Oct 4 19:05:56 CEST 2001 Paolo Molaro <lupus@ximian.com>

* dis-cil.c: fix printing of exception stuff.
* dump.c: display some more info in the typedef table dump.
* main.c: typo fix and method list fix.

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

22 years ago2001-10-03 Dick Porter <dick@ximian.com>
Dick Porter [Thu, 4 Oct 2001 09:44:14 +0000 (09:44 -0000)]
2001-10-03  Dick Porter  <dick@ximian.com>

* Monitor.cs: Implemented all methods except the two Wait()
methods that take boolean parameters

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

22 years ago2001-10-04 Dick Porter <dick@ximian.com>
Dick Porter [Thu, 4 Oct 2001 09:43:37 +0000 (09:43 -0000)]
2001-10-04  Dick Porter  <dick@ximian.com>

* configure.in: Do some deeper checks on pthreads for some of the
more interesting functions

2001-10-04  Dick Porter  <dick@ximian.com>

* object.h: Add a synchronisation mutex struct to MonoObject

* object.c (mono_new_object): Initialise the object
synchronisation mutexes

* icall.c: System.Threading.Monitor internal calls

* threads-pthread.h:
* threads-pthread.c: System.Threading.Monitor internal calls

* threads-types.h: New file, includes the system-specific thread
structures

* threads-pthread-types.h:
* threads-pthread-types.c: New files, handle pthread-specific
synchronisation types

* threads-dummy-types.h:
* threads-dummy-types.c: New files of dummy support for
thread-specific types

* metadata.c:
* image.c:
* pedump.c: include mono-endian.h not endian.h

* Makefile.am: More threads files.
Name mono-endian.h not endian.h

2001-10-04  Dick Porter  <dick@ximian.com>

* meta.h: include mono-endian.h not endian.h

2001-10-04  Dick Porter  <dick@ximian.com>

* interp.c (ves_runtime_method): init_class() the
mono_defaults.delegate_class
Include mono-endian.h not endian.h

2001-10-04  Dick Porter  <dick@ximian.com>

* testjit.c:
* emit-x86.c: include mono-endian.h not endian.h

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

22 years agoFlush
Miguel de Icaza [Wed, 3 Oct 2001 21:37:52 +0000 (21:37 -0000)]
Flush

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

22 years ago*** empty log message ***
Miguel de Icaza [Wed, 3 Oct 2001 14:27:05 +0000 (14:27 -0000)]
*** empty log message ***

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

22 years ago2001-10-03 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Wed, 3 Oct 2001 14:10:23 +0000 (14:10 -0000)]
2001-10-03  Ravi Pratap  <ravi@ximian.com>

* test-16.cs : Update to make the test more correct.

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

22 years ago2001-10-03 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Wed, 3 Oct 2001 13:04:16 +0000 (13:04 -0000)]
2001-10-03  Ravi Pratap  <ravi@ximian.com>

* expression.cs (Binary::DoNumericPromotions): Fix the case when
we do a forcible conversion regardless of type, to check if
ForceConversion returns a null.

(Binary::error19): Use location to report error.

(Unary::error23): Use location here too.

* ../errors/cs0019.cs : Check in.

* ../errors/cs0023.cs : Check in.

* expression.cs (Expression.MemberLookup): Return null for a rather esoteric
case of a non-null MethodInfo object with a length of 0 !

(Binary::ResolveOperator): Flag error if overload resolution fails to find
an applicable member - according to the spec :-)
Also fix logic to find members in base types.

(Unary::ResolveOperator): Same here.

(Unary::report23): Change name to error23 and make first argument a TypeContainer
as I was getting thoroughly confused between this and error19 :-)

* expression.cs (Expression::ImplicitUserConversion): Re-write fully
(::FindMostEncompassedType): Implement.
(::FindMostEncompassingType): Implement.
(::StandardConversionExists): Implement.

(UserImplicitCast): Re-vamp. We now need info about most specific
source and target types so that we can do the necessary conversions.

(Invocation::MakeUnionSet): Completely re-write to make sure we form a proper
mathematical union with no duplicates.

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

22 years agoAdded files for errors CS0019 and CS0023
Ravi Pratap M [Wed, 3 Oct 2001 13:01:18 +0000 (13:01 -0000)]
Added files for errors CS0019 and CS0023

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

22 years ago2001-10-03 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Wed, 3 Oct 2001 12:59:16 +0000 (12:59 -0000)]
2001-10-03  Ravi Pratap  <ravi@ximian.com>

* test-16.cs : Add.

* makefile : update accordingly.

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

22 years agoanother test (does not work at the moment)
Dietmar Maurer [Wed, 3 Oct 2001 10:04:41 +0000 (10:04 -0000)]
another test (does not work at the moment)

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

22 years ago2001-10-02 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Wed, 3 Oct 2001 02:28:04 +0000 (02:28 -0000)]
2001-10-02  Dietmar Maurer  <dietmar@ximian.com>

* get.c (get_method): always write namespace and class name.

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

22 years ago*** empty log message ***
Miguel de Icaza [Wed, 3 Oct 2001 01:26:24 +0000 (01:26 -0000)]
*** empty log message ***

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

22 years agoTue Oct 2 20:33:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Tue, 2 Oct 2001 14:42:07 +0000 (14:42 -0000)]
Tue Oct 2 20:33:48 CEST 2001 Paolo Molaro <lupus@ximian.com>

* Makefile.am, reflection.h, reflection.c: move here the reflection related
stuff and implement a few more bits.
* icall.c: a field needs to be dereferenced twice. Do not use the same
name for two variables in the same scope.
* image.c, image.h: cleanups.

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

22 years agoAdd new test
Miguel de Icaza [Tue, 2 Oct 2001 13:52:13 +0000 (13:52 -0000)]
Add new test

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

22 years agoadded tests for System.Int64
Martin Weindel [Tue, 2 Oct 2001 13:31:45 +0000 (13:31 -0000)]
added tests for System.Int64

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

22 years agoAdd more tests
Miguel de Icaza [Tue, 2 Oct 2001 13:05:15 +0000 (13:05 -0000)]
Add more tests

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

22 years ago*** empty log message ***
Miguel de Icaza [Tue, 2 Oct 2001 13:00:47 +0000 (13:00 -0000)]
*** empty log message ***

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

22 years agoTue Oct 2 18:51:25 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Tue, 2 Oct 2001 12:55:21 +0000 (12:55 -0000)]
Tue Oct 2 18:51:25 CEST 2001 Paolo Molaro <lupus@ximian.com>

* interp.c: set frame->ip in the leave opcode. Make db_methods static.

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

22 years ago2001-10-02 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Tue, 2 Oct 2001 06:52:58 +0000 (06:52 -0000)]
2001-10-02  Dietmar Maurer  <dietmar@ximian.com>

* testjit.c (ctree_create_dup): really duplicate the tree.
attach the arguments to the CALL node. Added a neiw macro to
make argument order configurable (ARCH_ARGS_RIGHT_TO_LEFT).

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

22 years ago2001-10-02 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Tue, 2 Oct 2001 03:37:40 +0000 (03:37 -0000)]
2001-10-02  Dietmar Maurer  <dietmar@ximian.com>

* class.c (mono_class_metadata_init): bug fix: compute the right size

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

22 years ago2001-10-02 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Tue, 2 Oct 2001 01:52:35 +0000 (01:52 -0000)]
2001-10-02  Ravi Pratap  <ravi@ximian.com>

* test-13.cs : Added.

* makefile : update accordingly.

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

22 years ago2001-10-02 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Tue, 2 Oct 2001 01:45:42 +0000 (01:45 -0000)]
2001-10-02  Ravi Pratap  <ravi@ximian.com>

* expression.cs (Unary::ResolveOperator): Find operators on base type
too - we now conform exactly to the spec.

(Binary::ResolveOperator): Same here.

* class.cs (Operator::Define): Fix minor quirk in the tests.

* ../errors/cs0215.cs : Added.

* ../errors/cs0556.cs : Added.

* ../errors/cs0555.cs : Added.

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

22 years agoAdded more files for errors that we catch.
Ravi Pratap M [Tue, 2 Oct 2001 01:41:26 +0000 (01:41 -0000)]
Added more files for errors that we catch.

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

22 years ago2001-10-01 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Tue, 2 Oct 2001 00:00:09 +0000 (00:00 -0000)]
2001-10-01  Miguel de Icaza  <miguel@ximian.com>

* cs-tokenizer.cs: Reimplemented Location to be a struct with a
single integer which is really efficient

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

22 years agoUpdates and some implementation bits.
Paolo Molaro [Mon, 1 Oct 2001 14:53:39 +0000 (14:53 -0000)]
Updates and some implementation bits.

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

22 years agoMon Oct 1 20:43:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Mon, 1 Oct 2001 14:53:07 +0000 (14:53 -0000)]
Mon Oct 1 20:43:57 CEST 2001 Paolo Molaro <lupus@ximian.com>

* icall.c: implemented some of the Reflection internalcalls.
* image.c, image.h: start writing out the PE/COFF image.
* metadata.h, metadata.c: implement mono_metadata_encode_value ()
that does the reverse than decode_blob_size ().
* object.c: use mono_metadata_encode_value (). Move here
temporary implementation of mono_string_to_utf8 ().
* rawbuffer.c: make malloc_map static.

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

22 years agoFix values for O_CREAT O_EXCL O_TRUNC O_APPEND to work on Linux,
Paolo Molaro [Mon, 1 Oct 2001 13:26:23 +0000 (13:26 -0000)]
Fix values for O_CREAT O_EXCL O_TRUNC O_APPEND to work on Linux,
these need to be taken from the wrapper generation tool, later.

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

22 years agoNo need to flush a filehandle (and anyway you can't since fflush
Paolo Molaro [Mon, 1 Oct 2001 13:12:32 +0000 (13:12 -0000)]
No need to flush a filehandle (and anyway you can't since fflush
needs a _file_ handle).
Idem, avoid corruption calling fseek on a file handle (use lseek instead).
This file should be reworked to be 64 bits clean.

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

22 years agoMon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Mon, 1 Oct 2001 13:07:53 +0000 (13:07 -0000)]
Mon Oct 1 18:48:27 CEST 2001 Paolo Molaro <lupus@ximian.com>

* x86/tramp.c: fix thinko (s/SUB/ADD/) in stack adjustment
and avoid a couple of unnecessary instructions.

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

22 years ago2001-10-01 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Mon, 1 Oct 2001 13:01:54 +0000 (13:01 -0000)]
2001-10-01  Ravi Pratap  <ravi@ximian.com>

*  expression.cs (Expression::ImplicitUserConversion): Use location
        even in the case when we are examining True operators.

        * class.cs (Operator::Define): Perform extensive checks to conform
        with the rules for operator overloading in the spec.

* expression.cs (Expression::ImplicitReferenceConversion): Implement
some of the other conversions mentioned in the spec.

* typemanager.cs (array_type): New static member for the System.Array built-in
type.

(cloneable_interface): For System.ICloneable interface.

* driver.cs (Driver::Driver): Initialize TypeManager's core types even before
we start resolving the tree and populating types.

* ../errors/errors.txt : Update for error numbers -7, -8, -9, -10

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

22 years agoUpdate errors.txt for the new errors that only we catch.
Ravi Pratap M [Mon, 1 Oct 2001 12:56:17 +0000 (12:56 -0000)]
Update errors.txt for the new errors that only we catch.

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

22 years ago2001-10-01 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Mon, 1 Oct 2001 08:53:31 +0000 (08:53 -0000)]
2001-10-01  Dietmar Maurer  <dietmar@ximian.com>

* interp.brg: the burm based interpreter: added the file as example.

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

22 years ago2001-10-01 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Mon, 1 Oct 2001 01:29:38 +0000 (01:29 -0000)]
2001-10-01  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (Expression::ExprClassFromMemberInfo,
Expression::Literalize): Create literal expressions from
FieldInfos which are literals.

(ConvertNumericExplicit, ImplicitNumericConversion): Fix a few
type casts, because they were wrong.  The test suite in tests
caught these ones.

(ImplicitNumericConversion): ushort to ulong requires a widening
cast.

Int32 constant to long requires widening cast as well.

* literal.cs (LongLiteral::EmitLong): Do not generate i4 constants
for integers because the type on the stack is not i4.

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

22 years agoSun Sep 30 11:57:15 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Sun, 30 Sep 2001 06:04:32 +0000 (06:04 -0000)]
Sun Sep 30 11:57:15 CEST 2001 Paolo Molaro <lupus@ximian.com>

* interp.c: compiler and ANSI C portability fixes.

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

22 years ago2001-09-30 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sun, 30 Sep 2001 03:03:54 +0000 (03:03 -0000)]
2001-09-30  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (report118): require location argument.

* parameter.cs: Do not dereference potential null value.

* class.cs: Catch methods that lack the `new' keyword when
overriding a name.  Report warnings when `new' is used without
anything being there to override.

* modifiers.cs: Handle `NEW' as MethodAttributes.NewSlot.

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

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

* class.cs: Only add constructor to hashtable if it is non-null
(as now constructors can fail on define).

(TypeManager, Class, Struct): Take location arguments.

Catch field instance initialization in structs as errors.

accepting_filter: a new filter for FindMembers that is static so
that we dont create an instance per invocation.

(Constructor::Define): Catch errors where a struct constructor is
parameterless

* cs-parser.jay: Pass location information for various new
constructs.

* delegate.cs (Delegate): take a location argument.

* driver.cs: Do not call EmitCode if there were problesm in the
Definition of the types, as many Builders wont be there.

* decl.cs (Decl::Decl): Require a location argument.

* cs-tokenizer.cs: Handle properly hex constants that can not fit
into integers, and find the most appropiate integer for it.

* literal.cs: Implement ULongLiteral.

* rootcontext.cs: Provide better information about the location of
failure when CreateType fails.

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

* rootcontext.cs (RootContext::PopulateTypes): Populates structs
as well.

* expression.cs (Binary::CheckShiftArguments): Add missing type
computation.
(Binary::ResolveOperator): Add type to the logical and and logical
or, Bitwise And/Or and Exclusive Or code paths, it was missing
before.

(Binary::DoNumericPromotions): In the case where either argument
is ulong (and most signed types combined with ulong cause an
error) perform implicit integer constant conversions as well.

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

22 years agoAdded MethodImplAttribute and AttributeUsage classes
Miguel de Icaza [Sat, 29 Sep 2001 16:57:38 +0000 (16:57 -0000)]
Added MethodImplAttribute and AttributeUsage classes

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

22 years agoAdded required 'Using' directive
Dick Porter [Sat, 29 Sep 2001 16:41:20 +0000 (16:41 -0000)]
Added required 'Using' directive

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

22 years ago2001-09-28 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Fri, 28 Sep 2001 20:27:52 +0000 (20:27 -0000)]
2001-09-28  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (UserImplicitCast): Method should always be
non-null.
(Invocation::BetterConversion): Simplified test for IntLiteral.

(Expression::ImplicitNumericConversion): Split this routine out.
Put the code that performs implicit constant integer conversions
here.

(Expression::Resolve): Become a wrapper around DoResolve so we can
check eclass and type being set after resolve.

(Invocation::Badness): Remove this dead function

(Binary::ResolveOperator): Do not compute the expensive argumnets
unless we have a union for it.

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

22 years ago2001-09-28 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Fri, 28 Sep 2001 18:10:28 +0000 (18:10 -0000)]
2001-09-28  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (Probe::Emit): Is needs to do an isinst and then
compare against null.

(::CanConvert): Added Location argument.  If the Location argument
is null (Location.Null), then we do not report errors.  This is
used by the `probe' mechanism of the Explicit conversion.  We do
not want to generate an error for something that the user
explicitly requested to be casted.  But the pipeline for an
explicit cast first tests for potential implicit casts.

So for now, if the Location is null, it means `Probe only' to
avoid adding another argument.   Might have to revise this
strategy later.

(ClassCast): New class used to type cast objects into arbitrary
classes (used in Explicit Reference Conversions).

Implement `as' as well.

Reverted all the patches from Ravi below: they were broken:

* The use of `level' as a mechanism to stop recursive
  invocations is wrong.  That was there just to catch the
  bug with a strack trace but not as a way of addressing
  the problem.

  To fix the problem we have to *understand* what is going
  on and the interactions and come up with a plan, not
  just get things going.

* The use of the type conversion cache that I proposed
  last night had an open topic: How does this work across
  protection domains.  A user defined conversion might not
  be public in the location where we are applying the
  conversion, a different conversion might be selected
  (ie, private A->B (better) but public B->A (worse),
  inside A, A->B applies, but outside it, B->A will
  apply).

* On top of that (ie, even if the above is solved),
  conversions in a cache need to be abstract.  Ie, `To
  convert from an Int to a Short use an OpcodeCast', not
  `To convert from an Int to a Short use the OpcodeCast on
  the variable 5' (which is what this patch was doing).

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

22 years agoSome fixes and some implementation bits. More classes.
Paolo Molaro [Fri, 28 Sep 2001 13:54:46 +0000 (13:54 -0000)]
Some fixes and some implementation bits. More classes.

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

22 years agoFri Sep 28 19:26:30 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Fri, 28 Sep 2001 13:49:47 +0000 (13:49 -0000)]
Fri Sep 28 19:26:30 CEST 2001 Paolo Molaro <lupus@ximian.com>

* metadata.c: fix type comparison for arrays.
* loader.h, loader.c: half-assed fix to get more tests work in cygwin.
Added a couple of new classes to monodefaults.
* icall.c: added a couple of Reflection-related internalcalls.
* class.h, class.c: implemented mono_ldtoken () for RuntimeTypeHandles.
Added a byval_arg MonoType to MonoClass.

Fri Sep 28 19:43:12 CEST 2001 Paolo Molaro <lupus@ximian.com>

* x86/tramp.c: marshal valuetypes that are enums.

Fri Sep 28 19:37:46 CEST 2001 Paolo Molaro <lupus@ximian.com>

* interp.c: Implemented ldtoken, conv.ovf.i. Use MonoClass->byval_arg
(and remove related kludges). Don't choke on access to arrays of
references. Throw an exception when an internalcall or P/Invoke
function don't have an implementation. Throw and EngineException
for unimplemented opcodes.

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

22 years ago2001-09-28 Dick Porter <dick@ximian.com>
Dick Porter [Fri, 28 Sep 2001 13:39:47 +0000 (13:39 -0000)]
2001-09-28  Dick Porter  <dick@ximian.com>

* icall.c:
* threads-pthread.h:
* threads-pthread.c: Implemented internal calls for
LocalDataStoreSlot operations.  Applied mutexes around all shared
data.  Reworked the thread creation and Start() operations to
avoid a race condition.

* threads-dummy.h:
* threads-dummy.c: Dummy calls for the LocalDataStoreSlot operations

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

22 years ago2001-09-28 Dick Porter <dick@ximian.com>
Dick Porter [Fri, 28 Sep 2001 13:38:52 +0000 (13:38 -0000)]
2001-09-28  Dick Porter  <dick@ximian.com>

* Thread.cs: Implemented AllocateDataSlot(),
AllocateNamedDataSlot(), FreeNamedDataSlot(), GetData(),
GetNamedDataSlot(), SetData(), IsBackground.  Reworked Thread()
and Start() to avoid a race condition. Added thread-safe state
changing private operations.

* Monitor.cs: Comment out the GetType() calls because it isn't implemented yet

2001-09-28  Dick Porter  <dick@ximian.com>

* LocalDataStoreSlot.cs: Implemented

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

22 years agoRevert Ravi's patch, it was completely broken
Miguel de Icaza [Fri, 28 Sep 2001 12:43:53 +0000 (12:43 -0000)]
Revert Ravi's patch, it was completely broken

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

22 years ago2001-09-28 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Fri, 28 Sep 2001 12:28:56 +0000 (12:28 -0000)]
2001-09-28  Ravi Pratap  <ravi@ximian.com>

        * expression.cs (Invocation::ConversionExists): Re-write to use
        the conversion cache

        (Expression::ConvertImplicit): Automatic bailing out if level != 0. Also
        cache all conversions done, not just user-defined ones.

        (Invocation::BetterConversion): The real culprit. Use ConversionExists
        to determine if a conversion exists instead of acutually trying to
        perform the conversion. It's faster too.

        (Expression::ConvertExplicit): Modify to use ConversionExists to check
        and only then attempt the implicit conversion.

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

22 years agoSmall updates
Miguel de Icaza [Fri, 28 Sep 2001 12:02:35 +0000 (12:02 -0000)]
Small updates

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

22 years agoexpression.cs (ConvertImplicit): Implement cache to prevent looping
Ravi Pratap M [Fri, 28 Sep 2001 05:01:14 +0000 (05:01 -0000)]
expression.cs (ConvertImplicit): Implement cache to prevent looping

[I am unable to past my ChangeLog entries here !!! Help !]

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

22 years agocleanup
Dietmar Maurer [Fri, 28 Sep 2001 03:22:30 +0000 (03:22 -0000)]
cleanup

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

22 years agoAdd new test
Miguel de Icaza [Fri, 28 Sep 2001 01:40:11 +0000 (01:40 -0000)]
Add new test

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