mono.git
22 years agouse relative numbering for runtime type checks
Dietmar Maurer [Thu, 25 Oct 2001 05:34:19 +0000 (05:34 -0000)]
use relative numbering for runtime type checks

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

22 years agomore tests for general format and some changed tests for parsing
Martin Weindel [Wed, 24 Oct 2001 14:49:59 +0000 (14:49 -0000)]
more tests for general format and some changed tests for parsing

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

22 years agominor bug fix for general format
Martin Weindel [Wed, 24 Oct 2001 14:48:38 +0000 (14:48 -0000)]
minor bug fix for general format

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

22 years ago2001-10-25 Nick Drochak <ndrochak@gol.com>
Nick Drochak [Wed, 24 Oct 2001 12:27:50 +0000 (12:27 -0000)]
2001-10-25  Nick Drochak  <ndrochak@gol.com>

* StringBuilder.cs: Throw exception if they try to make a StringBuilder
whose capacity is greater than the MaxCapacity.

I added some tests for the constructors and the above exception. More
coming soon.

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

22 years ago2001-10-23 Nick Drochak <ndrochak@gol.com>
Nick Drochak [Wed, 24 Oct 2001 00:57:09 +0000 (00:57 -0000)]
2001-10-23  Nick Drochak  <ndrochak@gol.com>

* StringBuilder.cs: Refactored constructor code into just one
constructor. All the other construtors call it. Also supplied missing
constructors so the class has all those in the spec.

Added the MaxCapacity property as well, however this needs to be
completed to return a value is related to the available system memory.

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

22 years ago2001-10-22 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Tue, 23 Oct 2001 14:14:26 +0000 (14:14 -0000)]
2001-10-22  Miguel de Icaza  <miguel@ximian.com>

* class.cs (TypeContainer::Emit): Emit code for indexers.

* assign.cs (IAssignMethod): New interface implemented by Indexers
and Properties for handling assignment.

(Assign::Emit): Simplify and reuse code.

* expression.cs (IndexerAccess, PropertyExpr): Implement

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

22 years agoUpdate
Miguel de Icaza [Tue, 23 Oct 2001 13:20:15 +0000 (13:20 -0000)]
Update

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

22 years ago2001-10-22 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Mon, 22 Oct 2001 12:32:25 +0000 (12:32 -0000)]
2001-10-22  Ravi Pratap  <ravi@ximian.com>

* typemanager.cs (ImplementsInterface): New method to determine if a type
implements a given interface. Provides a nice cache too.

* expression.cs (ImplicitReferenceConversion): Update checks to use the above
method.

(ConvertReferenceExplicit): Ditto.

* delegate.cs (Delegate::Populate): Update to define the parameters on the
various methods, with correct names etc.

* class.cs (Operator::OpType): New members Operator.UnaryPlus and
Operator.UnaryNegation.

* cs-parser.jay (operator_declarator): Be a little clever in the case where
we have a unary plus or minus operator.

* expression.cs (Unary): Rename memebers of Operator enum to UnaryPlus and
UnaryMinus.

* everywhere : update accordingly.

* everywhere : Change Negate and BitComplement to LogicalNot and OnesComplement
respectively.

* class.cs (Method::Define): For the case where we are implementing a method
inherited from an interface, we need to set the MethodAttributes.Final flag too.
Also set MethodAttributes.NewSlot and MethodAttributes.HideBySig.

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

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

* makefile : New target 'verify' which uses the verifier to check
that executables produced by us are identical to the MS' produced ones.

* test-7.cs : Update to exercise more overloadable operators.

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

22 years agoMon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Mon, 22 Oct 2001 09:24:31 +0000 (09:24 -0000)]
Mon Oct 22 15:20:14 CEST 2001 Paolo Molaro <lupus@ximian.com>

* x86/tramp.c: handle boolean, u1 and i1 as return values.

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

22 years agoFlush pending work
Miguel de Icaza [Mon, 22 Oct 2001 00:38:33 +0000 (00:38 -0000)]
Flush pending work

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

22 years agoAdd indexer test, does not work yet
Miguel de Icaza [Sun, 21 Oct 2001 17:00:24 +0000 (17:00 -0000)]
Add indexer test, does not work yet

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

22 years agoquick flush
Miguel de Icaza [Sun, 21 Oct 2001 16:52:36 +0000 (16:52 -0000)]
quick flush

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

22 years ago2001-10-21 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Sun, 21 Oct 2001 10:11:36 +0000 (10:11 -0000)]
2001-10-21  Ravi Pratap  <ravi@ximian.com>

* interface.cs (FindMembers): Implement to work around S.R.E
lameness.

* typemanager.cs (IsInterfaceType): Implement.

(FindMembers): Update to handle interface types too.

* expression.cs (ImplicitReferenceConversion): Re-write bits which
use IsAssignableFrom as that is not correct - it doesn't work.

* delegate.cs (DelegateInvocation): Derive from ExpressionStatement
and accordingly override EmitStatement.

* expression.cs (ConvertReferenceExplicit): Re-write similary, this time
using the correct logic :-)

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

22 years ago2001-10-21 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Sun, 21 Oct 2001 10:07:17 +0000 (10:07 -0000)]
2001-10-21  Ravi Pratap  <ravi@ximian.com>

* test-27.cs : Add to do various implicit and explicit
reference conversions.

* makefile : Update accordingly.

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

22 years agoFlush
Miguel de Icaza [Sat, 20 Oct 2001 21:47:40 +0000 (21:47 -0000)]
Flush

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

22 years ago2001-10-17 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sat, 20 Oct 2001 21:22:56 +0000 (21:22 -0000)]
2001-10-17  Miguel de Icaza  <miguel@ximian.com>

* assign.cs (Assign::Resolve): Resolve right hand side first, and
then pass this as a hint to ResolveLValue.

* expression.cs (FieldExpr): Add Location information

(FieldExpr::LValueResolve): Report assignment to readonly
variable.

(Expression::ExprClassFromMemberInfo): Pass location information.

(Expression::ResolveLValue): Add new method that resolves an
LValue.

(Expression::DoResolveLValue): Default invocation calls
DoResolve.

(Indexers): New class used to keep track of indexers in a given
Type.

(IStackStore): Renamed from LValue, as it did not really describe
what this did.  Also ResolveLValue is gone from this interface and
now is part of Expression.

(ElementAccess): Depending on the element access type

* typemanager.cs: Add `indexer_name_type' as a Core type
(System.Runtime.CompilerServices.IndexerNameAttribute)

* statement.cs (Goto): Take a location.

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

22 years agomore tests for parsing and ToString
Martin Weindel [Sat, 20 Oct 2001 17:02:05 +0000 (17:02 -0000)]
more tests for parsing and ToString

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

22 years agorefactoring, ToString completed
Martin Weindel [Sat, 20 Oct 2001 17:00:59 +0000 (17:00 -0000)]
refactoring, ToString completed

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

22 years agoAdd file to demonstrate error -11
Ravi Pratap M [Fri, 19 Oct 2001 08:55:19 +0000 (08:55 -0000)]
Add file to demonstrate error -11

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

22 years agoSystem.CodeDom.*: Missing namespace declarations
Sean MacIsaac [Thu, 18 Oct 2001 15:07:08 +0000 (15:07 -0000)]
System.CodeDom.*: Missing namespace declarations

System.build: Fixed clean target

System.XML.build: Output changed to System.Xml.dll not from System.XML

corlib.build: More things excluded from testing corlib

HashtableTest.cs: Don't print extra debug info during tests

Windows.cs: Added code to read/write/open/close files

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

22 years ago2001-10-18 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 18 Oct 2001 12:34:51 +0000 (12:34 -0000)]
2001-10-18  Ravi Pratap  <ravi@ximian.com>

* delegate.cs (Delegate::VerifyDelegate): New method to verify
if two delegates are compatible.

(NewDelegate::DoResolve): Update to take care of the case when
we instantiate a delegate from another delegate.

* typemanager.cs (FindMembers): Don't even try to look up members
of Delegate types for now.

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

22 years ago2001-10-18 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 18 Oct 2001 12:32:07 +0000 (12:32 -0000)]
2001-10-18  Ravi Pratap  <ravi@ximian.com>

* test-26.cs : Update to test delegate creation from another
delegate.

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

22 years ago2001-10-18 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 18 Oct 2001 07:01:43 +0000 (07:01 -0000)]
2001-10-18  Ravi Pratap  <ravi@ximian.com>

* delegate.cs (NewDelegate): New class to take care of delegate
instantiation.

* expression.cs (New): Split the delegate related code out into
the NewDelegate class.

* delegate.cs (DelegateInvocation): New class to handle delegate
invocation.

* expression.cs (Invocation): Split out delegate related code into
the DelegateInvocation class.

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

22 years agoModify to make a little more verbose :-)
Ravi Pratap M [Thu, 18 Oct 2001 06:58:42 +0000 (06:58 -0000)]
Modify to make a little more verbose :-)

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

22 years agoGot nunit tests running in windows. Reorganized Test case directories.
Sean MacIsaac [Wed, 17 Oct 2001 17:36:04 +0000 (17:36 -0000)]
Got nunit tests running in windows.  Reorganized Test case directories.

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

22 years ago2001-10-17 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Wed, 17 Oct 2001 09:25:26 +0000 (09:25 -0000)]
2001-10-17  Ravi Pratap  <ravi@ximian.com>

* expression.cs (New::DoResolve): Implement delegate creation fully
and according to the spec.

(New::DoEmit): Update to handle delegates differently.

(Invocation::FullMethodDesc): Fix major stupid bug thanks to me
because of which we were printing out arguments in reverse order !

* delegate.cs (VerifyMethod): Implement to check if the given method
matches the delegate.

(FullDelegateDesc): Implement.

(VerifyApplicability): Implement.

* expression.cs (Invocation::DoResolve): Update to accordingly handle
delegate invocations too.

(Invocation::Emit): Ditto.

* ../errors/cs1593.cs : Added.

* ../errors/cs1594.cs : Added.

* delegate.cs (InstanceExpression, TargetMethod): New properties.

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

* typemanager.cs (intptr_type): Core type for System.IntPtr

(InitCoreTypes): Update for the same.

(iasyncresult_type, asynccallback_type): Ditto.

* delegate.cs (Populate): Fix to use System.Intptr as it is indeed
correct.

* typemanager.cs (AddDelegateType): Store a pointer to the Delegate class
too.

* delegate.cs (ConstructorBuilder, InvokeBuilder, ...): New members to hold
the builders for the 4 members of a delegate type :-)

(Populate): Define the BeginInvoke and EndInvoke methods on the delegate
type.

* expression.cs (New::DoResolve): Implement guts for delegate creation.

* ../errors/errors.txt : Update for an error (-11) which only we catch :-)

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

22 years ago2001-10-17 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Wed, 17 Oct 2001 09:21:11 +0000 (09:21 -0000)]
2001-10-17  Ravi Pratap  <ravi@ximian.com>

* test-26.cs : Added to demonstrate delegate support.

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

22 years agoAdd files for delegate related errors.
Ravi Pratap M [Wed, 17 Oct 2001 09:20:07 +0000 (09:20 -0000)]
Add files for delegate related errors.

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

22 years agoclass.c (mono_class_create_from_typeref): added debugging output
Sean MacIsaac [Wed, 17 Oct 2001 03:58:33 +0000 (03:58 -0000)]
class.c (mono_class_create_from_typeref): added debugging output
to print class name when MonoDummy is returned instead of real class

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

22 years agoAdded stub classes/methods needed by compiler in an attempt to get it
Sean MacIsaac [Wed, 17 Oct 2001 03:54:01 +0000 (03:54 -0000)]
Added stub classes/methods needed by compiler in an attempt to get it
to run in Linux.

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

22 years agoAdd IndexerNameAttribute
Miguel de Icaza [Wed, 17 Oct 2001 01:51:30 +0000 (01:51 -0000)]
Add IndexerNameAttribute

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

22 years ago2001-10-15 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Tue, 16 Oct 2001 00:57:41 +0000 (00:57 -0000)]
2001-10-15  Miguel de Icaza  <miguel@ximian.com>

* statement.cs (Break::Emit): Implement.
(Continue::Emit): Implement.

(For::Emit): Track old being/end loops;  Set Begin loop, ack end loop
(While::Emit): Track old being/end loops;  Set Begin loop, ack end loop
(Do::Emit): Track old being/end loops;  Set Begin loop, ack end loop
(Foreach::Emit): Track old being/end loops;  Set Begin loop, ack
end loop

* codegen.cs (EmitContext::LoopEnd, EmitContext::LoopBegin): New
properties that track the label for the current loop (begin of the
loop and end of the loop).

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

22 years agoUPdated
Miguel de Icaza [Mon, 15 Oct 2001 22:03:43 +0000 (22:03 -0000)]
UPdated

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

22 years ago2001-10-15 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Mon, 15 Oct 2001 14:41:52 +0000 (14:41 -0000)]
2001-10-15  Ravi Pratap  <ravi@ximian.com>

* delegate.cs (Emit): Get rid of it as there doesn't seem to be any ostensible
use of emitting anything at all.

* class.cs, rootcontext.cs : Get rid of calls to the same.

* delegate.cs (DefineDelegate): Make sure the class we define is also sealed.

(Populate): Define the constructor correctly and set the implementation
attributes.

* typemanager.cs (delegate_types): New hashtable to hold delegates that
have been defined.

(AddDelegateType): Implement.

(IsDelegateType): Implement helper method.

* delegate.cs (DefineDelegate): Use AddDelegateType instead of AddUserType.

* expression.cs (New::DoResolve): Check if we are trying to instantiate a delegate type
and accordingly handle it.

* delegate.cs (Populate): Take TypeContainer argument.
Implement bits to define the Invoke method. However, I still haven't figured out
how to take care of the native int bit :-(

* cs-parser.jay (delegate_declaration): Fixed the bug that I had introduced :-)
Qualify the name of the delegate, not its return type !

* expression.cs (ImplicitReferenceConversion): Implement guts of implicit array
conversion.

(StandardConversionExists): Checking for array types turns out to be recursive.

(ConvertReferenceExplicit): Implement array conversion.

(ExplicitReferenceConversionExists): New method to determine precisely that :-)

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

* cs-parser.jay (delegate_declaration): Store the fully qualified
name as it is a type declaration.

* delegate.cs (ReturnType, Name): Rename members to these. Make them
readonly.

(DefineDelegate): Renamed from Define. Does the same thing essentially,
as TypeContainer::DefineType.

(Populate): Method in which all the definition of the various methods (Invoke)
etc is done.

(Emit): Emit any code, if necessary. I am not sure about this really, but let's
see.

(CloseDelegate): Finally creates the delegate.

* class.cs (TypeContainer::DefineType): Update to define delegates.
(Populate, Emit and CloseType): Do the same thing here too.

* rootcontext.cs (ResolveTree, PopulateTypes, EmitCode, CloseTypes): Include
delegates in all these operations.

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

22 years ago2001-10-15 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Mon, 15 Oct 2001 09:50:03 +0000 (09:50 -0000)]
2001-10-15  Dietmar Maurer  <dietmar@ximian.com>

* class.c (mono_class_metadata_init): interface offset table now
contains pointers into the vtable - this is more efficient for the jit

* class.c (mono_class_metadata_init): use a temporary vtable (the
old algorithm only worked for the interpreter, but not for the jit)

* loader.c (method_from_memberref): use mono_class_get to get the
class of an array instead of using System.Array directly.
(mono_get_method): also add MEMBERREF methods to the method cache
which usefull for arrays.

* pedump.c (arch_compile_method): added to compute vtable entry

* interp.c: removed newobj()

* interp.c (get_virtual_method): use the vtable
(arch_compile_method): added to compute vtable entry

* x86.brg: added some experimental code for CALL
instructions - still not found the optimal way to do it.

* testjit.c (map_stind_type): add support for value types with
a size of 1, 2 or 4 bytes, implemented CEE_UNBOX, CEE_LDOBJ,
CEE_LDSTR, CEE_LDFLD, CEE_LDFLDA, CEE_STFLD, CEE_NEWOBJ, CEE_CEQ
(ctree_create_newobj): impl.

* emit-x86.c (tree_allocate_regs): removed allocation code for
addr nonterminal.
(get_address): use a simple, but bug free search instead of the
buggy binary search.

* testjit.c: support virtual functions

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

22 years ago2001-10-14 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Mon, 15 Oct 2001 00:03:43 +0000 (00:03 -0000)]
2001-10-14  Miguel de Icaza  <miguel@ximian.com>

* expression.cs: LocalTemporary: a new expression used to
reference a temporary that has been created.

* assign.cs: Handle PropertyAccess back here, so that we can
provide the proper semantic access to properties.

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

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

* expression.cs (Expression::ConvertReferenceExplicit): Implement
a few more explicit conversions.

* modifiers.cs: `NEW' modifier maps to HideBySig.

* expression.cs (PropertyExpr): Make this into an
ExpressionStatement, and support the EmitStatement code path.

Perform get/set error checking, clean up the interface.

* assign.cs: recognize PropertyExprs as targets, and if so, turn
them into toplevel access objects.

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

22 years agoadded Martin Weindel
Martin Weindel [Sun, 14 Oct 2001 18:36:09 +0000 (18:36 -0000)]
added Martin Weindel

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

22 years agoadded entry for System.Decimal
Martin Weindel [Sun, 14 Oct 2001 18:35:06 +0000 (18:35 -0000)]
added entry for System.Decimal

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

22 years agoTests for System.Decimal
Martin Weindel [Sun, 14 Oct 2001 18:28:54 +0000 (18:28 -0000)]
Tests for System.Decimal

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

22 years ago*** empty log message ***
Martin Weindel [Sun, 14 Oct 2001 18:27:32 +0000 (18:27 -0000)]
*** empty log message ***

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

22 years agoadded Decimal.cs and DecimalFormatter.cs
Martin Weindel [Sun, 14 Oct 2001 18:26:04 +0000 (18:26 -0000)]
added Decimal.cs and DecimalFormatter.cs

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

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

* expression.cs: PropertyExpr::PropertyExpr: use work around the
SRE.

* typemanager.cs: Keep track here of our PropertyBuilders again to
work around lameness in SRE.

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

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

* expression.cs (LValue::LValueResolve): New method in the
interface, used to perform a second resolution pass for LValues.

(This::DoResolve): Catch the use of this in static methods.

(This::LValueResolve): Implement.

(This::Store): Remove warning, assigning to `this' in structures
is

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

22 years agoMake it compile
Miguel de Icaza [Fri, 12 Oct 2001 14:13:12 +0000 (14:13 -0000)]
Make it compile

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

22 years ago2001-10-12 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Fri, 12 Oct 2001 11:28:02 +0000 (11:28 -0000)]
2001-10-12  Ravi Pratap  <ravi@ximian.com>

* test-21.cs : Update to actually do some checking and return
an appropriate value.

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

22 years agoFixed test cases.
Paolo Molaro [Fri, 12 Oct 2001 10:32:09 +0000 (10:32 -0000)]
Fixed test cases.

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

22 years agoAdd more tests
Miguel de Icaza [Fri, 12 Oct 2001 01:24:02 +0000 (01:24 -0000)]
Add more tests

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

22 years agoadded StringTest.cs
Jeffrey Stedfast [Thu, 11 Oct 2001 23:27:11 +0000 (23:27 -0000)]
added StringTest.cs

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

22 years ago2001-10-11 Jeffrey Stedfast <fejj@ximian.com>
Jeffrey Stedfast [Thu, 11 Oct 2001 23:26:24 +0000 (23:26 -0000)]
2001-10-11  Jeffrey Stedfast  <fejj@ximian.com>

* System/StringTest.cs: Added.

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

22 years agoAdding tests for the basic integer structs
Mario Carrion [Thu, 11 Oct 2001 18:56:17 +0000 (18:56 -0000)]
Adding tests for the basic integer structs

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

22 years agoInitial import on the Mono BASIC patchs from Rafael
Miguel de Icaza [Thu, 11 Oct 2001 18:21:25 +0000 (18:21 -0000)]
Initial import on the Mono BASIC patchs from Rafael

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

22 years agoAdd files from MonoBASIC compiler
Miguel de Icaza [Thu, 11 Oct 2001 18:12:12 +0000 (18:12 -0000)]
Add files from MonoBASIC compiler

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

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

* expression.cs (Invocation::Emit): Deal with invocation of
methods on value types.  We need to pass the address to structure
methods rather than the object itself.  (The equivalent code to
emit "this" for structures leaves the entire structure on the
stack instead of a pointer to it).

(ParameterReference::DoResolve): Compute the real index for the
argument based on whether the method takes or not a `this' pointer
(ie, the method is static).

* codegen.cs (EmitContext::GetTemporaryStorage): Used to store
value types returned from functions when we need to invoke a
method on the sturcture.

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

22 years ago* added sorting support for ByMaintainer.xsl
Thomas Neidhart [Thu, 11 Oct 2001 17:00:20 +0000 (17:00 -0000)]
* added sorting support for ByMaintainer.xsl
  and ByNamespace.xsl

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

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

* class.cs (TypeContainer::DefineType): Method to actually do the business of
defining the type in the Modulebuilder or Typebuilder. This is to take
care of nested types which need to be defined on the TypeBuilder using
DefineNestedMethod.

(TypeContainer::GetClassBases): Implement. Essentially the code from the
methods in RootContext, only ported to be part of TypeContainer.

(TypeContainer::GetInterfaceOrClass): Ditto.

(TypeContainer::LookupInterfaceOrClass, ::MakeFQN): Ditto.

* interface.cs (Interface::DefineInterface): New method. Does exactly
what RootContext.CreateInterface did earlier, only it takes care of nested types
too.

(Interface::GetInterfaces): Move from RootContext here and port.

(Interface::GetInterfaceByName): Same here.

* rootcontext.cs (ResolveTree): Re-write.

(PopulateTypes): Re-write.

* class.cs (TypeContainer::Populate): Populate nested types too.
(TypeContainer::Emit): Emit nested members too.

* typemanager.cs (AddUserType): Do not make use of the FullName property,
instead just use the name argument passed in as it is already fully
qualified.

(FindMembers): Check in the Builders to TypeContainer mapping instead of the name
to TypeContainer mapping to see if a type is user-defined.

* class.cs (TypeContainer::CloseType): Implement.

(TypeContainer::DefineDefaultConstructor): Use Basename, not Name while creating
the default constructor.

(TypeContainer::Populate): Fix minor bug which led to creating default constructors
twice.

(Constructor::IsDefault): Fix up logic to determine if it is the default constructor

* interface.cs (CloseType): Create the type here.

* rootcontext.cs (CloseTypes): Re-write to recursively close types by running through
the hierarchy.

Remove all the methods which are now in TypeContainer.

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

* delegate.cs (Define): Re-write bits to define the delegate
correctly.

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

22 years agoActually add the file this time :-)
Ravi Pratap M [Thu, 11 Oct 2001 16:39:44 +0000 (16:39 -0000)]
Actually add the file this time :-)

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

22 years ago2001-10-11 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 11 Oct 2001 16:38:03 +0000 (16:38 -0000)]
2001-10-11  Ravi Pratap  <ravi@ximian.com>

* test-21.cs : Add. This is a test for testing our support
for nested types

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

22 years ago* updated class status
Thomas Neidhart [Thu, 11 Oct 2001 15:56:27 +0000 (15:56 -0000)]
* updated class status

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

22 years ago* Initial versions of several classes, including
Thomas Neidhart [Thu, 11 Oct 2001 15:30:20 +0000 (15:30 -0000)]
* Initial versions of several classes, including
  DSA base classes and CSP base classes

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

22 years ago* Convert.cs: added Base64 converting methods
Thomas Neidhart [Thu, 11 Oct 2001 15:24:19 +0000 (15:24 -0000)]
* Convert.cs: added Base64 converting methods

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

22 years agomore documentation
Dietmar Maurer [Thu, 11 Oct 2001 04:25:07 +0000 (04:25 -0000)]
more documentation

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

22 years agoIntegerFormatter test
Derek Holden [Wed, 10 Oct 2001 19:03:41 +0000 (19:03 -0000)]
IntegerFormatter test

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

22 years agoout of range error on FormatGeneral for uints
Derek Holden [Wed, 10 Oct 2001 19:02:42 +0000 (19:02 -0000)]
out of range error on FormatGeneral for uints

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

22 years ago* added directory Test/System.Security.Cryptography
Thomas Neidhart [Wed, 10 Oct 2001 17:26:22 +0000 (17:26 -0000)]
* added directory Test/System.Security.Cryptography
* added TestSuite for all Crypto classes
* added tests for AsymmetricAlgorithm & SymmetricAlgorithm

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

22 years agopercision -> precision in 446 places
Derek Holden [Wed, 10 Oct 2001 15:36:11 +0000 (15:36 -0000)]
percision -> precision in 446 places

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

22 years agoWed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Wed, 10 Oct 2001 10:11:17 +0000 (10:11 -0000)]
Wed Oct 10 16:07:24 CEST 2001 Paolo Molaro <lupus@ximian.com>

* x86/x86-codegen.c: added x86_set_{reg,mem,membase}.

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

22 years agoupdated
Derek Holden [Wed, 10 Oct 2001 08:05:59 +0000 (08:05 -0000)]
updated

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

22 years agoToString's now using IntegerFormatter
Derek Holden [Wed, 10 Oct 2001 08:00:30 +0000 (08:00 -0000)]
ToString's now using IntegerFormatter

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

22 years agoToString formatter for integral types
Derek Holden [Wed, 10 Oct 2001 07:57:45 +0000 (07:57 -0000)]
ToString formatter for integral types

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

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