mono.git
22 years ago2001-10-31 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Wed, 31 Oct 2001 14:53:53 +0000 (14:53 -0000)]
2001-10-31  Ravi Pratap  <ravi@ximian.com>

* test-34.cs : Add

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

22 years ago2001-10-31 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Wed, 31 Oct 2001 06:38:00 +0000 (06:38 -0000)]
2001-10-31  Ravi Pratap  <ravi@ximian.com>

* support.cs (InternalParameters): Get rid of crap taking in duplicate info. We
now take a TypeContainer and a Parameters object.

(ParameterData): Modify return type of ParameterModifier method to be
Parameter.Modifier and not a string.

(ReflectionParameters, InternalParameters): Update accordingly.

* expression.cs (Argument::GetParameterModifier): Same here.

* support.cs (InternalParameters::ParameterType): Find a better way of determining
if we are a ref/out parameter. Actually, the type shouldn't be holding the '&'
symbol in it at all so maybe this is only for now.

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

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

* support.cs (InternalParameters): Constructor now takes an extra argument
which is the actual Parameters class.

(ParameterDesc): Update to provide info on ref/out modifiers.

* class.cs (everywhere): Update call to InternalParameters to pass in
the second argument too.

* support.cs (ParameterData): Add ParameterModifier, which is a method
to return the modifier info [ref/out etc]

(InternalParameters, ReflectionParameters): Implement the above.

* expression.cs (Argument::ParameterModifier): Similar function to return
info about the argument's modifiers.

(Invocation::OverloadResolve): Update to take into account matching modifiers
too.

* class.cs (Indexer::Define): Actually define a Parameter object and put it onto
a new SetFormalParameters object which we pass to InternalParameters.

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

22 years ago2001-10-30 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Tue, 30 Oct 2001 04:06:58 +0000 (04:06 -0000)]
2001-10-30  Ravi Pratap  <ravi@ximian.com>

* expression.cs (NewArray): Merge into the ArrayCreation class.

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

* expression.cs (NewArray): Merge classes NewBuiltinArray and
NewUserdefinedArray into one as there wasn't much of a use in having
two separate ones.

* expression.cs (Argument): Change field's name to ArgType from Type.

(Type): New readonly property which returns the proper type, taking into
account ref/out modifiers.

(everywhere): Adjust code accordingly for the above.

* codegen.cs (EmitContext.RefOrOutParameter): New field to determine
whether we are emitting for a ref or out parameter.

* expression.cs (Argument::Emit): Use the above field to set the state.

(LocalVariableReference::Emit): Update to honour the flag and emit the
right stuff.

* parameter.cs (Attributes): Set the correct flags for ref parameters.

* expression.cs (Argument::FullDesc): New function to provide a full desc.

* support.cs (ParameterData): Add method ParameterDesc to the interface.

(ReflectionParameters, InternalParameters): Implement the above method.

* expression.cs (Invocation::OverloadResolve): Use the new desc methods in
reporting errors.

(Invocation::FullMethodDesc): Ditto.

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

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

* cs-parser.jay: Add extra production for the second form of array
creation.

* expression.cs (ArrayCreation): Update to reflect the above
change.

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

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

* Small changes to prepare for Array initialization.

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

22 years agoFix namespace bug, patch from Rafael
Miguel de Icaza [Mon, 29 Oct 2001 17:01:51 +0000 (17:01 -0000)]
Fix namespace bug, patch from Rafael

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

22 years ago2001-10-29 Nick Drochak <ndrochak@gol.com>
Nick Drochak [Mon, 29 Oct 2001 11:16:03 +0000 (11:16 -0000)]
2001-10-29  Nick Drochak  <ndrochak@gol.com>

* StringBuilder.cs: Throw exceptions when constructor paramter(s) are
invalid. Just like MS does (as best as I can tell).

Tests for these exceptions are now added to the unit tests as well.

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

22 years ago2001-10-28 Jeffrey Stedfast <fejj@ximian.com>
Jeffrey Stedfast [Sun, 28 Oct 2001 23:54:56 +0000 (23:54 -0000)]
2001-10-28  Jeffrey Stedfast  <fejj@ximian.com>

* String.cs: Don't use a terminating nil char for our internal
array.

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

22 years agoAdd another test to array creation
Miguel de Icaza [Sun, 28 Oct 2001 15:07:08 +0000 (15:07 -0000)]
Add another test to array creation

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

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

* typemanager.cs (ImplementsInterface): interface might be null;
Deal with this problem;

Also, we do store negative hits on the cache (null values), so use
this instead of calling t.GetInterfaces on the type everytime.

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

22 years ago2001-10-28 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Sun, 28 Oct 2001 09:38:33 +0000 (09:38 -0000)]
2001-10-28  Ravi Pratap  <ravi@ximian.com>

* typemanager.cs (IsBuiltinType): New method to help determine the same.

* expression.cs (New::DoResolve): Get rid of array creation code and instead
split functionality out into different classes.

(New::FormArrayType): Move into NewBuiltinArray.

(Invocation::EmitArguments): Get rid of the MethodBase argument. Appears
quite useless.

(NewBuiltinArray): New class to handle creation of built-in arrays.

(NewBuiltinArray::DoResolve): Implement guts of array creation. Also take into
account creation of one-dimensional arrays.

(::Emit): Implement to use Newarr and Newobj opcodes accordingly.

(NewUserdefinedArray::DoResolve): Implement.

* cs-parser.jay (local_variable_type): Fix up to add the rank to the variable too.

* typemanager.cs (AddModule): Used to add a ModuleBuilder to the list of modules
we maintain inside the TypeManager. This is necessary to perform lookups on the
module builder.

(LookupType): Update to perform GetType on the module builders too.

* driver.cs (Driver): Add the ModuleBuilder to the list maintained by the TypeManager.

* exprssion.cs (NewUserdefinedArray::Emit): Implement.

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

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

* test-32.cs : Added to test array definition and creation.

* makefile : Updated accordingly.

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

22 years agoUpdate TODO
Miguel de Icaza [Sun, 28 Oct 2001 01:54:24 +0000 (01:54 -0000)]
Update TODO

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

22 years agoUpdate
Miguel de Icaza [Sat, 27 Oct 2001 19:46:06 +0000 (19:46 -0000)]
Update

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

22 years agoMore updates
Miguel de Icaza [Sat, 27 Oct 2001 19:40:51 +0000 (19:40 -0000)]
More updates

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

22 years ago2001-10-27 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sat, 27 Oct 2001 19:39:42 +0000 (19:39 -0000)]
2001-10-27  Miguel de Icaza  <miguel@ximian.com>

* Delegate.cs (Delegate.CombineImpl): Implement.
(Delegate.Combine): Implement.

* MulticastDelegate.cs (MulticastDelegate.Equals): Implement.

(MulticastDelegate.CombineImpl): This was not as trivial as I
thought.

* ContextStaticAttribute.cs: Added AttributeUsage to
ContextStaticAttribute.

* FlagsAttribute.cs: Add AttributeUsage to FlagsAttribute

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

22 years ago2001-10-27 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sat, 27 Oct 2001 19:38:07 +0000 (19:38 -0000)]
2001-10-27  Miguel de Icaza  <miguel@ximian.com>

* DesignerSerializationVisibilityAttribute.cs: Implemented.

* DesignerSerializationVisibility.cs: New enumeration.

* LocalizableAttribute.cs: Implemented.

* BrowsableAttribute.cs: Implemented.

* DesignOnlyAttribute.cs: Implemented.

* DescriptionAttribute.cs: Implement.

* MemberDescriptor.cs: Implemented.

* CategoryAttribute.cs: implemented.

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

22 years agoIncorporate System.Web.UI.WebControls to the build + some fixes
Miguel de Icaza [Sat, 27 Oct 2001 19:27:55 +0000 (19:27 -0000)]
Incorporate System.Web.UI.WebControls to the build + some fixes

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

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

* expression.cs:

(Expression.Resolve): Report a 246 error (can not resolve name)
if we find a SimpleName in the stream.

(Expression.ResolveLValue): Ditto.

(Expression.ResolveWithSimpleName): This function is a variant of
ResolveName, this one allows SimpleNames to be returned without a
warning.  The only consumer of SimpleNames is MemberAccess

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

22 years agoMake the various versioning tests work
Miguel de Icaza [Sat, 27 Oct 2001 15:12:16 +0000 (15:12 -0000)]
Make the various versioning tests work

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

22 years ago2001-10-27 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sat, 27 Oct 2001 13:06:50 +0000 (13:06 -0000)]
2001-10-27  Miguel de Icaza  <miguel@ximian.com>

* expression.cs: Fix bug I introduced lsat night that broke
Delegates.

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

22 years agoUpdates from Gaurav
Miguel de Icaza [Sat, 27 Oct 2001 12:44:59 +0000 (12:44 -0000)]
Updates from Gaurav

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

22 years agoAdd lots of work from Gaurav
Miguel de Icaza [Sat, 27 Oct 2001 12:35:12 +0000 (12:35 -0000)]
Add lots of work from Gaurav

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

22 years agoUpdate
Miguel de Icaza [Sat, 27 Oct 2001 12:27:56 +0000 (12:27 -0000)]
Update

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

22 years ago2001-10-26 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Sat, 27 Oct 2001 00:15:20 +0000 (00:15 -0000)]
2001-10-26  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (Invocation::DoResolve): Catch SimpleNames that
might arrive here.  I have my doubts that this is correct.

* statement.cs (Lock): Implement lock statement.

* cs-parser.jay: Small fixes to support `lock' and `using'

* cs-tokenizer.cs: Remove extra space

* driver.cs: New flag --checked, allows to turn on integer math
checking.

* typemanger.cs: Load methodinfos for Threading.Monitor.Enter and
Threading.Monitor.Exit

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

22 years agoThese tests are used for testing the C# versioning provisions. I have
Miguel de Icaza [Sat, 27 Oct 2001 00:10:42 +0000 (00:10 -0000)]
These tests are used for testing the C# versioning provisions.  I have
not tested them yet.

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

22 years agoAdd new classes to get rid of the warnings being emitted by the
Miguel de Icaza [Sat, 27 Oct 2001 00:08:33 +0000 (00:08 -0000)]
Add new classes to get rid of the warnings being emitted by the
interpreter (although new warning are now there, we need to get the
Decimal internalcalls in place).

Implement some bits of CultureInfo, but it is yet far from finished.

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

22 years agoAdd a bunch of new classes to reduce warnings from Mint
Miguel de Icaza [Thu, 25 Oct 2001 19:34:35 +0000 (19:34 -0000)]
Add a bunch of new classes to reduce warnings from Mint

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

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