Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/class/corlib')
-rw-r--r--mcs/class/corlib/System.Collections/ChangeLog10
-rwxr-xr-xmcs/class/corlib/System.Collections/DictionaryBase.cs44
-rw-r--r--mcs/class/corlib/System.Collections/Hashtable.cs5
-rw-r--r--mcs/class/corlib/System.Globalization/ChangeLog5
-rw-r--r--mcs/class/corlib/System.Globalization/NumberFormatInfo.cs5
-rw-r--r--mcs/class/corlib/System.IO.IsolatedStorage/ChangeLog4
-rw-r--r--mcs/class/corlib/System.IO.IsolatedStorage/IsolatedStorageInfo.cs2
-rw-r--r--mcs/class/corlib/System.IO/ChangeLog40
-rw-r--r--mcs/class/corlib/System.IO/CheckPermission.cs2
-rw-r--r--mcs/class/corlib/System.IO/File.cs6
-rw-r--r--mcs/class/corlib/System.IO/FileInfo.cs2
-rw-r--r--mcs/class/corlib/System.IO/FileStream.cs2
-rw-r--r--mcs/class/corlib/System.IO/MonoIO.cs11
-rwxr-xr-xmcs/class/corlib/System.IO/Stream.cs1
-rw-r--r--mcs/class/corlib/System.IO/StreamWriter.cs43
-rwxr-xr-xmcs/class/corlib/System.Reflection.Emit/AssemblyBuilder.cs8
-rw-r--r--mcs/class/corlib/System.Reflection.Emit/ChangeLog9
-rw-r--r--mcs/class/corlib/System.Reflection.Emit/TypeBuilder.cs2
-rw-r--r--mcs/class/corlib/System.Reflection/ChangeLog9
-rw-r--r--mcs/class/corlib/System.Reflection/Module.cs23
-rw-r--r--mcs/class/corlib/System.Reflection/common.src25
-rw-r--r--mcs/class/corlib/System.Runtime.Remoting.Channels/ChangeLog5
-rw-r--r--mcs/class/corlib/System.Runtime.Remoting.Channels/ChannelServices.cs2
-rw-r--r--mcs/class/corlib/System.Runtime.Remoting.Messaging/ChangeLog5
-rw-r--r--mcs/class/corlib/System.Runtime.Remoting.Messaging/MethodCall.cs7
-rwxr-xr-xmcs/class/corlib/System.Runtime.Remoting/ChangeLog18
-rw-r--r--mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs2
-rw-r--r--mcs/class/corlib/System.Runtime.Remoting/RemotingConfiguration.cs4
-rw-r--r--mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs56
-rw-r--r--mcs/class/corlib/System.Runtime.Remoting/ServerIdentity.cs8
-rw-r--r--mcs/class/corlib/System.Security.Cryptography/ChangeLog6
-rw-r--r--mcs/class/corlib/System.Security.Cryptography/DES.cs6
-rw-r--r--mcs/class/corlib/System.Security.Cryptography/RC2.cs6
-rw-r--r--mcs/class/corlib/System.Security.Cryptography/TripleDES.cs6
-rw-r--r--mcs/class/corlib/System.Threading/ChangeLog12
-rwxr-xr-xmcs/class/corlib/System.Threading/Thread.cs25
-rwxr-xr-xmcs/class/corlib/System.Threading/Timer.cs5
-rw-r--r--mcs/class/corlib/System/ChangeLog26
-rw-r--r--mcs/class/corlib/System/DateTime.cs4
-rw-r--r--mcs/class/corlib/System/Double.cs4
-rw-r--r--mcs/class/corlib/System/Environment.cs2
-rw-r--r--mcs/class/corlib/System/MonoType.cs47
-rw-r--r--mcs/class/corlib/System/Random.cs2
-rw-r--r--mcs/class/corlib/System/Version.cs7
-rw-r--r--mcs/class/corlib/Test/System.Collections/ChangeLog4
-rw-r--r--mcs/class/corlib/Test/System.Collections/ComparerTest.cs11
-rw-r--r--mcs/class/corlib/Test/System.Reflection/ChangeLog4
-rw-r--r--mcs/class/corlib/Test/System/ChangeLog5
-rw-r--r--mcs/class/corlib/Test/System/VersionTest.cs6
49 files changed, 150 insertions, 403 deletions
diff --git a/mcs/class/corlib/System.Collections/ChangeLog b/mcs/class/corlib/System.Collections/ChangeLog
index f269e646470..8782bc457f8 100644
--- a/mcs/class/corlib/System.Collections/ChangeLog
+++ b/mcs/class/corlib/System.Collections/ChangeLog
@@ -1,13 +1,3 @@
-2004-07-21 Geoff Norton <gnorton@customerdna.com>
-
- * Hashtable.cs: lock the SyncRoot when Cloning a Synchronized hashtable to avoid
- a snapshot out of sync error.
-
-2004-07-21 Duncan Mak <duncan@ximian.com>
-
- * DictionaryBase.cs: Rename the dictionary field to hashtable,
- which causes a serialization interop bug. Fixes bug #61721.
-
2004-06-18 Ben Maurer <bmaurer@ximian.com>
* IKeyComparer.cs: v2 class
diff --git a/mcs/class/corlib/System.Collections/DictionaryBase.cs b/mcs/class/corlib/System.Collections/DictionaryBase.cs
index 9e814d1fab9..af6b19f2617 100755
--- a/mcs/class/corlib/System.Collections/DictionaryBase.cs
+++ b/mcs/class/corlib/System.Collections/DictionaryBase.cs
@@ -51,11 +51,11 @@ namespace System.Collections {
[Serializable]
public abstract class DictionaryBase : IDictionary, ICollection, IEnumerable {
- Hashtable hashtable;
+ Hashtable dictionary;
protected DictionaryBase ()
{
- hashtable = new Hashtable ();
+ dictionary = new Hashtable ();
}
/// <summary>
@@ -64,7 +64,7 @@ namespace System.Collections {
public void Clear ()
{
OnClear ();
- hashtable.Clear ();
+ dictionary.Clear ();
OnClearComplete ();
}
@@ -73,7 +73,7 @@ namespace System.Collections {
/// </summary>
public int Count {
get {
- return hashtable.Count;
+ return dictionary.Count;
}
}
@@ -91,7 +91,7 @@ namespace System.Collections {
/// </summary>
protected Hashtable InnerHashtable {
get {
- return hashtable;
+ return dictionary;
}
}
@@ -129,7 +129,7 @@ namespace System.Collections {
/// </summary>
private void DoCopy (Array array, int index)
{
- foreach (DictionaryEntry de in hashtable)
+ foreach (DictionaryEntry de in dictionary)
array.SetValue (de, index++);
}
@@ -138,7 +138,7 @@ namespace System.Collections {
/// </summary>
public IDictionaryEnumerator GetEnumerator ()
{
- return hashtable.GetEnumerator ();
+ return dictionary.GetEnumerator ();
}
/// <summary>
@@ -311,20 +311,20 @@ namespace System.Collections {
object IDictionary.this [object key] {
get {
- OnGet (key, hashtable [key]);
- object value = hashtable [key];
+ OnGet (key, dictionary[key]);
+ object value = dictionary [key];
return value;
}
set {
OnValidate (key, value);
- object current_value = hashtable [key];
+ object current_value = dictionary [key];
OnSet (key, current_value, value);
- hashtable [key] = value;
+ dictionary [key] = value;
try {
OnSetComplete (key, current_value, value);
} catch {
- hashtable [key] = current_value;
+ dictionary [key] = current_value;
throw;
}
}
@@ -332,13 +332,13 @@ namespace System.Collections {
ICollection IDictionary.Keys {
get {
- return hashtable.Keys;
+ return dictionary.Keys;
}
}
ICollection IDictionary.Values {
get {
- return hashtable.Values;
+ return dictionary.Values;
}
}
@@ -349,11 +349,11 @@ namespace System.Collections {
{
OnValidate (key, value);
OnInsert (key, value);
- hashtable.Add (key, value);
+ dictionary.Add (key, value);
try {
OnInsertComplete (key, value);
} catch {
- hashtable.Remove (key);
+ dictionary.Remove(key);
throw;
}
}
@@ -363,10 +363,10 @@ namespace System.Collections {
/// </summary>
void IDictionary.Remove (object key)
{
- object value = hashtable [key];
+ object value = dictionary [key];
OnValidate (key, value);
OnRemove (key, value);
- hashtable.Remove (key);
+ dictionary.Remove (key);
OnRemoveComplete (key, value);
}
@@ -375,24 +375,24 @@ namespace System.Collections {
/// </summary>
bool IDictionary.Contains (object key)
{
- return hashtable.Contains (key);
+ return dictionary.Contains (key);
}
bool ICollection.IsSynchronized {
get {
- return hashtable.IsSynchronized;
+ return dictionary.IsSynchronized;
}
}
object ICollection.SyncRoot {
get {
- return hashtable.SyncRoot;
+ return dictionary.SyncRoot;
}
}
IEnumerator IEnumerable.GetEnumerator ()
{
- return hashtable.GetEnumerator ();
+ return dictionary.GetEnumerator ();
}
}
}
diff --git a/mcs/class/corlib/System.Collections/Hashtable.cs b/mcs/class/corlib/System.Collections/Hashtable.cs
index 270bbef13ca..36575c8e024 100644
--- a/mcs/class/corlib/System.Collections/Hashtable.cs
+++ b/mcs/class/corlib/System.Collections/Hashtable.cs
@@ -1114,9 +1114,8 @@ namespace System.Collections {
public override object Clone ()
{
- lock(host.SyncRoot) {
- return new SyncHashtable( (Hashtable) host.Clone () );
- }
+ Hashtable ht = (Hashtable) host.Clone ();
+ return new SyncHashtable (ht);
}
} // SyncHashtable
diff --git a/mcs/class/corlib/System.Globalization/ChangeLog b/mcs/class/corlib/System.Globalization/ChangeLog
index 95392d51e96..533cc9d4dc7 100644
--- a/mcs/class/corlib/System.Globalization/ChangeLog
+++ b/mcs/class/corlib/System.Globalization/ChangeLog
@@ -1,3 +1,8 @@
+
+Wed Jun 30 17:06:43 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+ * NumberFormatInfo.cs: workaround for bug 55978.
+
2004-06-17 Atsushi Enomoto <atsushi@ximian.com>
* DateTimeFormatInfo.cs : check if pattern array is empty or not. Now
diff --git a/mcs/class/corlib/System.Globalization/NumberFormatInfo.cs b/mcs/class/corlib/System.Globalization/NumberFormatInfo.cs
index 169ad6c2f9e..e884daad5a7 100644
--- a/mcs/class/corlib/System.Globalization/NumberFormatInfo.cs
+++ b/mcs/class/corlib/System.Globalization/NumberFormatInfo.cs
@@ -851,7 +851,10 @@ throw new Exception ("HERE the value was modified");
public object GetFormat (Type formatType)
{
- return (formatType == typeof (NumberFormatInfo)) ? this : null;
+ // work around http://bugzilla.ximian.com/show_bug.cgi?id=55978
+ // the comparison fails because formatType likely comes from another domain
+ //return (formatType == typeof (NumberFormatInfo)) ? this : null;
+ return this;
}
public object Clone ()
diff --git a/mcs/class/corlib/System.IO.IsolatedStorage/ChangeLog b/mcs/class/corlib/System.IO.IsolatedStorage/ChangeLog
index c27c01f582e..2b295ce72fa 100644
--- a/mcs/class/corlib/System.IO.IsolatedStorage/ChangeLog
+++ b/mcs/class/corlib/System.IO.IsolatedStorage/ChangeLog
@@ -1,7 +1,3 @@
-2004-07-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * IsolatedStorageInfo.cs: useGetFolderPath instead of getting "HOME".
-
2004-06-13 Gert Driesen <drieseng@users.sourceforge.net>
* IsolatedStorage.cs: really mark the storage_scope field private
diff --git a/mcs/class/corlib/System.IO.IsolatedStorage/IsolatedStorageInfo.cs b/mcs/class/corlib/System.IO.IsolatedStorage/IsolatedStorageInfo.cs
index d1107269a1b..a3a1ae0e8a3 100644
--- a/mcs/class/corlib/System.IO.IsolatedStorage/IsolatedStorageInfo.cs
+++ b/mcs/class/corlib/System.IO.IsolatedStorage/IsolatedStorageInfo.cs
@@ -37,7 +37,7 @@ namespace System.IO.IsolatedStorage {
[MonoTODO("Unix Specific; generalize for Win32")]
internal static string GetIsolatedStorageDirectory ()
{
- string home = Environment.GetFolderPath (Environment.SpecialFolder.Personal);
+ string home = Environment.GetEnvironmentVariable ("HOME");
if (home == null)
home = "~";
diff --git a/mcs/class/corlib/System.IO/ChangeLog b/mcs/class/corlib/System.IO/ChangeLog
index 4412e03bfe9..6818c37ad82 100644
--- a/mcs/class/corlib/System.IO/ChangeLog
+++ b/mcs/class/corlib/System.IO/ChangeLog
@@ -1,43 +1,3 @@
-2004-09-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * Stream.cs: Close() does not call Flush(). Fixes bug #65340.
-
-2004-08-26 Ben Maurer <bmaurer@users.sourceforge.net>
-
- * StreamWriter.cs: avoid String.ToCharArray for perf.
-
-2004-08-18 Dick Porter <dick@ximian.com>
-
- * StreamWriter.cs: Flush the buffer if AutoFlush is set to true.
- Fixes bug 63063, patch by Laurent Debacker (debackerl@yahoo.com).
-
-2004-08-13 Dick Porter <dick@ximian.com>
-
- * StreamWriter.cs: Allow FileShare.Read access to the underlying
- FileStream, to be compatible with MS. Fixes bug 62152.
-
-2004-07-06 Dick Porter <dick@ximian.com>
-
- * MonoIO.cs: Add ERROR_INVALID_PARAMETER to the exception list.
- Don't blow away the SetFileTime() error before the caller gets to
- see it. Part of the bug fix to 60970.
-
-2004-07-05 Dick Porter <dick@ximian.com>
-
- * CheckPermission.cs:
- * File.cs:
- * FileInfo.cs:
- * MonoIO.cs:
- * FileStream.cs: Give the filename when throwing
- FileNotFoundException. Fixes bug 61120, based on patch from
- Carlos Alberto Cesario <carloscesario@gmail.com>.
-
-2004-07-05 Dick Porter <dick@ximian.com>
-
- * File.cs: File.Move() should check that the destination doesn't
- already exist. Fixes bug 60915, patch based on one from Carlos
- Alberto Cesario <carloscesario@gmail.com>.
-
2004-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Directory.cs: implemented GetLogicalDrives.
diff --git a/mcs/class/corlib/System.IO/CheckPermission.cs b/mcs/class/corlib/System.IO/CheckPermission.cs
index 232b1350af4..2b31cab7e01 100644
--- a/mcs/class/corlib/System.IO/CheckPermission.cs
+++ b/mcs/class/corlib/System.IO/CheckPermission.cs
@@ -102,7 +102,7 @@ namespace System.IO
}
else
{
- throw new FileNotFoundException("File not found", path);
+ throw new FileNotFoundException();
}
#endif
}
diff --git a/mcs/class/corlib/System.IO/File.cs b/mcs/class/corlib/System.IO/File.cs
index 3dcf8213759..c45dea6aecb 100644
--- a/mcs/class/corlib/System.IO/File.cs
+++ b/mcs/class/corlib/System.IO/File.cs
@@ -70,7 +70,7 @@ namespace System.IO
if (dest.Trim () == "" || dest.IndexOfAny (Path.InvalidPathChars) != -1)
throw new ArgumentException ("dest");
if (!Exists (src))
- throw new FileNotFoundException (src + " does not exist", src);
+ throw new FileNotFoundException (src + " does not exist");
if ((GetAttributes(src) & FileAttributes.Directory) == FileAttributes.Directory){
throw new ArgumentException(src + " is a directory");
@@ -261,11 +261,9 @@ namespace System.IO
if (dest.Trim () == "" || dest.IndexOfAny (Path.InvalidPathChars) != -1)
throw new ArgumentException ("dest");
if (!MonoIO.Exists (src, out error))
- throw new FileNotFoundException (src + " does not exist", src);
+ throw new FileNotFoundException (src + " does not exist");
if (MonoIO.ExistsDirectory (dest, out error))
throw new IOException (dest + " is a directory");
- if (MonoIO.Exists (dest, out error))
- throw new IOException (dest + " already exists");
string DirName;
DirName = Path.GetDirectoryName(src);
diff --git a/mcs/class/corlib/System.IO/FileInfo.cs b/mcs/class/corlib/System.IO/FileInfo.cs
index 3345f61dc79..c98cf6feaec 100644
--- a/mcs/class/corlib/System.IO/FileInfo.cs
+++ b/mcs/class/corlib/System.IO/FileInfo.cs
@@ -81,7 +81,7 @@ namespace System.IO {
public long Length {
get {
if (!Exists)
- throw new FileNotFoundException ("Could not find file \"" + OriginalPath + "\".", OriginalPath);
+ throw new FileNotFoundException ("Could not find file \"" + OriginalPath + "\".");
return stat.Length;
}
diff --git a/mcs/class/corlib/System.IO/FileStream.cs b/mcs/class/corlib/System.IO/FileStream.cs
index 01b726a0b92..3024bf35d04 100644
--- a/mcs/class/corlib/System.IO/FileStream.cs
+++ b/mcs/class/corlib/System.IO/FileStream.cs
@@ -155,7 +155,7 @@ namespace System.IO
if (access == FileAccess.Read && mode != FileMode.Create && mode != FileMode.OpenOrCreate &&
mode != FileMode.CreateNew && !File.Exists (name))
- throw new FileNotFoundException ("Could not find file \"" + name + "\".", name);
+ throw new FileNotFoundException ("Could not find file \"" + name + "\".");
if (mode == FileMode.CreateNew) {
string dname = Path.GetDirectoryName (name);
diff --git a/mcs/class/corlib/System.IO/MonoIO.cs b/mcs/class/corlib/System.IO/MonoIO.cs
index a32e6ed5408..47fd104fdc3 100644
--- a/mcs/class/corlib/System.IO/MonoIO.cs
+++ b/mcs/class/corlib/System.IO/MonoIO.cs
@@ -63,8 +63,7 @@ namespace System.IO
// FIXME: add more exception mappings here
case MonoIOError.ERROR_FILE_NOT_FOUND:
message = String.Format ("Could not find file \"{0}\"", path);
- return new FileNotFoundException (message,
- path);
+ return new FileNotFoundException (message);
case MonoIOError.ERROR_PATH_NOT_FOUND:
message = String.Format ("Could not find a part of the path \"{0}\"", path);
@@ -82,10 +81,6 @@ namespace System.IO
message = String.Format ("Path is too long. Path: {0}", path);
return new PathTooLongException (message);
- case MonoIOError.ERROR_INVALID_PARAMETER:
- message = String.Format ("Invalid parameter");
- return new IOException (message);
-
default:
message = String.Format ("Win32 IO returned {0}. Path: {1}", error, path);
return new IOException (message);
@@ -309,9 +304,7 @@ namespace System.IO
result = SetFileTime (handle, creation_time,
last_access_time,
last_write_time, out error);
-
- MonoIOError ignore_error;
- Close (handle, out ignore_error);
+ Close (handle, out error);
return result;
}
diff --git a/mcs/class/corlib/System.IO/Stream.cs b/mcs/class/corlib/System.IO/Stream.cs
index 6623da319a1..04884fb5e3d 100755
--- a/mcs/class/corlib/System.IO/Stream.cs
+++ b/mcs/class/corlib/System.IO/Stream.cs
@@ -77,6 +77,7 @@ namespace System.IO
public virtual void Close ()
{
+ Flush ();
}
void IDisposable.Dispose ()
diff --git a/mcs/class/corlib/System.IO/StreamWriter.cs b/mcs/class/corlib/System.IO/StreamWriter.cs
index 1799d74e6e6..4c51d0269be 100644
--- a/mcs/class/corlib/System.IO/StreamWriter.cs
+++ b/mcs/class/corlib/System.IO/StreamWriter.cs
@@ -123,7 +123,7 @@ namespace System.IO {
else
mode = FileMode.Create;
- internalStream = new FileStream (path, mode, FileAccess.Write, FileShare.Read);
+ internalStream = new FileStream (path, mode, FileAccess.Write);
if (append)
internalStream.Position = internalStream.Length;
@@ -137,16 +137,12 @@ namespace System.IO {
get {
return iflush;
}
- set {
- if (DisposedAlready)
- throw new ObjectDisposedException("StreamWriter");
- iflush = value;
-
- if (iflush) {
- Flush ();
- }
- }
- }
+ set {
+ if (DisposedAlready)
+ throw new ObjectDisposedException("StreamWriter");
+ iflush = value;
+ }
+ }
public virtual Stream BaseStream {
get {
@@ -249,28 +245,6 @@ namespace System.IO {
index += todo;
decode_pos += todo;
}
- }
-
- void LowLevelWrite (string s)
- {
- int count = s.Length;
- int index = 0;
- while (count > 0) {
- int todo = decode_buf.Length - decode_pos;
- if (todo == 0) {
- Decode ();
- todo = decode_buf.Length;
- }
- if (todo > count)
- todo = count;
-
- for (int i = 0; i < todo; i ++)
- decode_buf [i + decode_pos] = s [i + index];
-
- count -= todo;
- index += todo;
- decode_pos += todo;
- }
}
public override void Write (char value)
@@ -304,8 +278,7 @@ namespace System.IO {
throw new ObjectDisposedException("StreamWriter");
if (value != null)
- LowLevelWrite (value);
-
+ LowLevelWrite (value.ToCharArray (), 0, value.Length);
if (iflush)
Flush ();
}
diff --git a/mcs/class/corlib/System.Reflection.Emit/AssemblyBuilder.cs b/mcs/class/corlib/System.Reflection.Emit/AssemblyBuilder.cs
index 344395be1a3..ebe86410469 100755
--- a/mcs/class/corlib/System.Reflection.Emit/AssemblyBuilder.cs
+++ b/mcs/class/corlib/System.Reflection.Emit/AssemblyBuilder.cs
@@ -131,16 +131,8 @@ namespace System.Reflection.Emit {
}
if (n.KeyPair != null) {
- // full keypair is available (for signing)
sn = n.KeyPair.StrongName ();
}
- else {
- // public key is available (for delay-signing)
- byte[] pk = n.GetPublicKey ();
- if ((pk != null) && (pk.Length > 0)) {
- sn = new Mono.Security.StrongName (pk);
- }
- }
basic_init (this);
}
diff --git a/mcs/class/corlib/System.Reflection.Emit/ChangeLog b/mcs/class/corlib/System.Reflection.Emit/ChangeLog
index 0f117fa51cf..5aeec6cdae4 100644
--- a/mcs/class/corlib/System.Reflection.Emit/ChangeLog
+++ b/mcs/class/corlib/System.Reflection.Emit/ChangeLog
@@ -1,12 +1,3 @@
-2004-08-13 Sebastien Pouliot <sebastien@ximian.com>
-
- * AssemblyBuilder.cs: (Partly) Fix delay-signing issue (#56621) when
- MCS is used on the MS runtime (other part of the fix is for MCS).
-
-2004-07-24 Martin Baulig <martin@ximian.com>
-
- * TypeBuilder.cs (TypeBuilder.UnspecifiedTypeSize): Set this to 0
- and initialize it to 0 everywhere.
Thu Jun 24 15:33:04 CEST 2004 Paolo Molaro <lupus@ximian.com>
diff --git a/mcs/class/corlib/System.Reflection.Emit/TypeBuilder.cs b/mcs/class/corlib/System.Reflection.Emit/TypeBuilder.cs
index c0059b54286..1f6884bdc12 100644
--- a/mcs/class/corlib/System.Reflection.Emit/TypeBuilder.cs
+++ b/mcs/class/corlib/System.Reflection.Emit/TypeBuilder.cs
@@ -95,7 +95,7 @@ namespace System.Reflection.Emit {
internal TypeBuilder (ModuleBuilder mb, TypeAttributes attr) {
this.parent = null;
this.attrs = attr;
- this.class_size = 0;
+ this.class_size = -1;
fullname = this.tname = "<Module>";
this.nspace = "";
pmodule = mb;
diff --git a/mcs/class/corlib/System.Reflection/ChangeLog b/mcs/class/corlib/System.Reflection/ChangeLog
index 2ceab253beb..8a7945e688e 100644
--- a/mcs/class/corlib/System.Reflection/ChangeLog
+++ b/mcs/class/corlib/System.Reflection/ChangeLog
@@ -1,12 +1,3 @@
-
-Sat Jul 10 15:48:34 CEST 2004 Paolo Molaro <lupus@ximian.com>
-
- * Modulec.s: return just name in ToString (bug #61287).
-
-2004-07-03 Zoltan Varga <vargaz@freemail.hu>
-
- * Module.cs: Initialize FilterTypeName[IgnoreCase]. Fixes #61048.
-
2004-06-17 Gert Driesen <drieseng@users.sourceforge.net>
* Pointer.cs: remove serializable attribute to match MS.NET
diff --git a/mcs/class/corlib/System.Reflection/Module.cs b/mcs/class/corlib/System.Reflection/Module.cs
index 876967a50c0..01dc55f9be6 100644
--- a/mcs/class/corlib/System.Reflection/Module.cs
+++ b/mcs/class/corlib/System.Reflection/Module.cs
@@ -55,11 +55,6 @@ namespace System.Reflection {
const BindingFlags defaultBindingFlags =
BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance;
- static Module () {
- FilterTypeName = new TypeFilter (filter_by_type_name);
- FilterTypeNameIgnoreCase = new TypeFilter (filter_by_type_name_ignore_case);
- }
-
internal Module () { }
~Module () {
@@ -211,7 +206,7 @@ namespace System.Reflection {
public override string ToString ()
{
- return name;
+ return "Reflection.Module: " + name;
}
// Mono Extension: returns the GUID of this module
@@ -220,22 +215,6 @@ namespace System.Reflection {
return new Guid (GetGuidInternal ());
}
- private static bool filter_by_type_name (Type m, object filterCriteria) {
- string s = (string)filterCriteria;
- if (s.EndsWith ("*"))
- return m.Name.StartsWith (s.Substring (0, s.Length - 1));
- else
- return m.Name == s;
- }
-
- private static bool filter_by_type_name_ignore_case (Type m, object filterCriteria) {
- string s = (string)filterCriteria;
- if (s.EndsWith ("*"))
- return m.Name.ToLower ().StartsWith (s.Substring (0, s.Length - 1).ToLower ());
- else
- return String.Compare (m.Name, s, true) == 0;
- }
-
[MethodImplAttribute (MethodImplOptions.InternalCall)]
private extern string GetGuidInternal ();
diff --git a/mcs/class/corlib/System.Reflection/common.src b/mcs/class/corlib/System.Reflection/common.src
new file mode 100644
index 00000000000..022b6768fcc
--- /dev/null
+++ b/mcs/class/corlib/System.Reflection/common.src
@@ -0,0 +1,25 @@
+Assembly.cs
+AssemblyNameFlags.cs
+BindingFlags.cs
+CallingConventions.cs
+ConstructorInfo.cs
+DefaultMemberAttribute.cs
+EventAttributes.cs
+EventInfo.cs
+FieldAttributes.cs
+FieldInfo.cs
+ICustomAttributeProvider.cs
+MemberFilter.cs
+MemberInfo.cs
+MemberTypes.cs
+MethodAttributes.cs
+MethodBase.cs
+MethodImplAttributes.cs
+MethodInfo.cs
+Module.cs
+ParameterAttributes.cs
+PropertyAttributes.cs
+PropertyInfo.cs
+ResourceAttributes.cs
+ResourceLocation.cs
+TypeAttributes.cs
diff --git a/mcs/class/corlib/System.Runtime.Remoting.Channels/ChangeLog b/mcs/class/corlib/System.Runtime.Remoting.Channels/ChangeLog
index 35352b211ea..aafa83f9899 100644
--- a/mcs/class/corlib/System.Runtime.Remoting.Channels/ChangeLog
+++ b/mcs/class/corlib/System.Runtime.Remoting.Channels/ChangeLog
@@ -1,8 +1,3 @@
-2004-07-02 Lluis Sanchez Gual <lluis@novell.com>
-
- * ChannelServices.cs: In RegisterChannel, ignore name colisions if the
- channel name is "". This fixes bug #61592.
-
2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
* TransportHeaders.cs: added TODO for serialization
diff --git a/mcs/class/corlib/System.Runtime.Remoting.Channels/ChannelServices.cs b/mcs/class/corlib/System.Runtime.Remoting.Channels/ChannelServices.cs
index f2f21baf53e..98629c496f4 100644
--- a/mcs/class/corlib/System.Runtime.Remoting.Channels/ChannelServices.cs
+++ b/mcs/class/corlib/System.Runtime.Remoting.Channels/ChannelServices.cs
@@ -254,7 +254,7 @@ namespace System.Runtime.Remoting.Channels
{
IChannel regc = (IChannel) registeredChannels[n];
- if (regc.ChannelName == chnl.ChannelName && chnl.ChannelName != "")
+ if (regc.ChannelName == chnl.ChannelName)
throw new RemotingException ("Channel " + regc.ChannelName + " already registered");
if (regc.ChannelPriority < chnl.ChannelPriority && pos==-1)
diff --git a/mcs/class/corlib/System.Runtime.Remoting.Messaging/ChangeLog b/mcs/class/corlib/System.Runtime.Remoting.Messaging/ChangeLog
index 31b0acd440c..87e4e0902e6 100644
--- a/mcs/class/corlib/System.Runtime.Remoting.Messaging/ChangeLog
+++ b/mcs/class/corlib/System.Runtime.Remoting.Messaging/ChangeLog
@@ -1,8 +1,3 @@
-2004-07-22 Lluis Sanchez Gual <lluis@novell.com>
-
- * MethodCall.cs: Use RemotingServices.GetMethodBaseFromName to get the
- MethodBase from the method name. This fixes bug #61774.
-
2004-06-18 Sebastien Pouliot <sebastien@ximian.com>
* ReturnMessage.cs: Added IMessage interface to class definition.
diff --git a/mcs/class/corlib/System.Runtime.Remoting.Messaging/MethodCall.cs b/mcs/class/corlib/System.Runtime.Remoting.Messaging/MethodCall.cs
index 47dbb9d0beb..9313d3aa0cb 100644
--- a/mcs/class/corlib/System.Runtime.Remoting.Messaging/MethodCall.cs
+++ b/mcs/class/corlib/System.Runtime.Remoting.Messaging/MethodCall.cs
@@ -288,8 +288,11 @@ namespace System.Runtime.Remoting.Messaging {
Type type = RemotingServices.GetServerTypeForUri (_uri);
if (type == null) throw new RemotingException ("Requested service not found. No receiver for uri " + _uri);
- if (CanCastTo (_typeName, type)) {
- _methodBase = RemotingServices.GetMethodBaseFromName (type, _methodName, _methodSignature);
+ if (CanCastTo (_typeName, type))
+ {
+ BindingFlags bflags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
+ if (_methodSignature == null) _methodBase = type.GetMethod (_methodName, bflags);
+ else _methodBase = type.GetMethod (_methodName, bflags, null, _methodSignature, null);
return;
}
else
diff --git a/mcs/class/corlib/System.Runtime.Remoting/ChangeLog b/mcs/class/corlib/System.Runtime.Remoting/ChangeLog
index 14aa52173f9..1fc62be042d 100755
--- a/mcs/class/corlib/System.Runtime.Remoting/ChangeLog
+++ b/mcs/class/corlib/System.Runtime.Remoting/ChangeLog
@@ -1,21 +1,3 @@
-2004-07-22 Lluis Sanchez Gual <lluis@novell.com>
-
- * ObjRef.cs: Fixed type check in in ObjRef constructor. The requested class
- must be the object class or a base class. This fixes bug #61249.
-
-2004-07-22 Lluis Sanchez Gual <lluis@novell.com>
-
- * RemotingServices.cs: Changed GetMethodBaseFromMethodMessage so its code
- can be reused internally. Also fixed bug when gettting a method from an
- interface.
-
-2004-07-02 Lluis Sanchez Gual <lluis@ximian.com>
-
- * RemotingConfiguration.cs: Avoid adding "id" and "type" as custom
- properties of providers. This fixes bug #60934.
- * ServerIdentity.cs, RemotingServices.cs: When disposing an identity, detach
- the identity from the object, so it can be safely marshalled again.
-
2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
* RemotingTimeoutException.cs: added missing serialization ctor
diff --git a/mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs b/mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs
index 30234367827..90db146c267 100644
--- a/mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs
+++ b/mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs
@@ -92,7 +92,7 @@ namespace System.Runtime.Remoting {
uri = RemotingServices.GetObjectUri(mbr);
typeInfo = new TypeInfo(type);
- if (!type.IsAssignableFrom (mbr.GetType()))
+ if (!typeInfo.CanCastTo(mbr.GetType(), mbr))
throw new RemotingException ("The server object type cannot be cast to the requested type " + type.FullName + ".");
UpdateChannelInfo();
diff --git a/mcs/class/corlib/System.Runtime.Remoting/RemotingConfiguration.cs b/mcs/class/corlib/System.Runtime.Remoting/RemotingConfiguration.cs
index 2cbe62dff51..204bc6b4368 100644
--- a/mcs/class/corlib/System.Runtime.Remoting/RemotingConfiguration.cs
+++ b/mcs/class/corlib/System.Runtime.Remoting/RemotingConfiguration.cs
@@ -721,9 +721,9 @@ namespace System.Runtime.Remoting
if (at == "id" && isTemplate)
prov.Id = val;
- else if (at == "type")
+ if (at == "type")
prov.Type = val;
- else if (at == "ref" && !isTemplate)
+ if (at == "ref" && !isTemplate)
prov.Ref = val;
else
prov.CustomProperties.Add (at, val);
diff --git a/mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs b/mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs
index 6d4b810ed13..aa694cbb3b6 100644
--- a/mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs
+++ b/mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs
@@ -57,7 +57,6 @@ namespace System.Runtime.Remoting
internal static string app_id;
static int next_id = 1;
- static readonly BindingFlags methodBindings = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
static RemotingServices ()
{
@@ -160,10 +159,8 @@ namespace System.Runtime.Remoting
else
throw new ArgumentException ("The obj parameter is a proxy.");
}
- else {
+ else
identity = obj.ObjectIdentity;
- obj.ObjectIdentity = null;
- }
if (identity == null || !identity.IsConnected)
return false;
@@ -291,49 +288,22 @@ namespace System.Runtime.Remoting
Type type = Type.GetType (msg.TypeName);
if (type == null)
throw new RemotingException ("Type '" + msg.TypeName + "' not found.");
-
- return GetMethodBaseFromName (type, msg.MethodName, (Type[]) msg.MethodSignature);
- }
-
- internal static MethodBase GetMethodBaseFromName (Type type, string methodName, Type[] signature)
- {
- if (type.IsInterface) {
- return FindInterfaceMethod (type, methodName, signature);
- }
- else {
- MethodBase method = null;
- if (signature == null)
- method = type.GetMethod (methodName, methodBindings);
- else
- method = type.GetMethod (methodName, methodBindings, null, (Type[]) signature, null);
-
- if (method != null)
- return method;
-
- if (signature == null)
- return type.GetConstructor (methodBindings, null, Type.EmptyTypes, null);
- else
- return type.GetConstructor (methodBindings, null, signature, null);
- }
- }
-
- static MethodBase FindInterfaceMethod (Type type, string methodName, Type[] signature)
- {
- MethodBase method = null;
+
+ BindingFlags bflags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
- if (signature == null)
- method = type.GetMethod (methodName, methodBindings);
+ MethodBase method;
+ if (msg.MethodSignature == null)
+ method = type.GetMethod (msg.MethodName, bflags);
else
- method = type.GetMethod (methodName, methodBindings, null, signature, null);
-
- if (method != null) return method;
+ method = type.GetMethod (msg.MethodName, bflags, null, (Type[]) msg.MethodSignature, null);
- foreach (Type t in type.GetInterfaces ()) {
- method = FindInterfaceMethod (t, methodName, signature);
- if (method != null) return method;
- }
+ if (method != null)
+ return method;
- return null;
+ if (msg.MethodSignature == null)
+ return type.GetConstructor (bflags, null, Type.EmptyTypes, null);
+ else
+ return type.GetConstructor (bflags, null, (Type[]) msg.MethodSignature, null);
}
public static void GetObjectData(object obj, SerializationInfo info, StreamingContext context)
diff --git a/mcs/class/corlib/System.Runtime.Remoting/ServerIdentity.cs b/mcs/class/corlib/System.Runtime.Remoting/ServerIdentity.cs
index 72c025121d0..f5ed96a066b 100644
--- a/mcs/class/corlib/System.Runtime.Remoting/ServerIdentity.cs
+++ b/mcs/class/corlib/System.Runtime.Remoting/ServerIdentity.cs
@@ -136,13 +136,7 @@ namespace System.Runtime.Remoting
protected void DisposeServerObject()
{
- // Detach identity from server object to avoid problems if the
- // object is marshalled again.
-
- if (_serverObject != null) {
- _serverObject.ObjectIdentity = null;
- _serverObject = null;
- }
+ _serverObject = null;
}
}
diff --git a/mcs/class/corlib/System.Security.Cryptography/ChangeLog b/mcs/class/corlib/System.Security.Cryptography/ChangeLog
index f087b452504..59642bc66bc 100644
--- a/mcs/class/corlib/System.Security.Cryptography/ChangeLog
+++ b/mcs/class/corlib/System.Security.Cryptography/ChangeLog
@@ -1,9 +1,3 @@
-2004-07-15 Sebastien Pouliot <sebastien@ximian.com>
-
- * DES.cs: Fixed FeedbackSizeValue to 8.
- * RC2.cs: Fixed FeedbackSizeValue to 8.
- * TripleDES.cs: Fixed FeedbackSizeValue to 8.
-
2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
* CryptoStream.cs: Removed the block reduction. This seems to be done
diff --git a/mcs/class/corlib/System.Security.Cryptography/DES.cs b/mcs/class/corlib/System.Security.Cryptography/DES.cs
index cb678113d6c..a775477b436 100644
--- a/mcs/class/corlib/System.Security.Cryptography/DES.cs
+++ b/mcs/class/corlib/System.Security.Cryptography/DES.cs
@@ -6,6 +6,10 @@
// Sebastien Pouliot <sebastien@ximian.com>
//
// Portions (C) 2002 Motus Technologies Inc. (http://www.motus.com)
+// (C) 2004 Novell (http://www.novell.com)
+//
+
+//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
@@ -46,7 +50,7 @@ public abstract class DES : SymmetricAlgorithm {
{
KeySizeValue = 64;
BlockSizeValue = 64;
- FeedbackSizeValue = 8;
+ FeedbackSizeValue = 64;
LegalKeySizesValue = new KeySizes[1];
LegalKeySizesValue[0] = new KeySizes(64, 64, 0);
diff --git a/mcs/class/corlib/System.Security.Cryptography/RC2.cs b/mcs/class/corlib/System.Security.Cryptography/RC2.cs
index 70119078722..58566078d5f 100644
--- a/mcs/class/corlib/System.Security.Cryptography/RC2.cs
+++ b/mcs/class/corlib/System.Security.Cryptography/RC2.cs
@@ -5,6 +5,10 @@
// Andrew Birkett (andy@nobugs.org)
// Sebastien Pouliot (sebastien@ximian.com)
//
+// (C) 2004 Novell (http://www.novell.com)
+//
+
+//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
@@ -73,7 +77,7 @@ namespace System.Security.Cryptography {
{
KeySizeValue = 128;
BlockSizeValue = 64;
- FeedbackSizeValue = 8;
+ FeedbackSizeValue = 64;
// The RFC allows keys of 1 to 128 bytes, but MS impl only supports
// 40 to 128 bits, sigh.
diff --git a/mcs/class/corlib/System.Security.Cryptography/TripleDES.cs b/mcs/class/corlib/System.Security.Cryptography/TripleDES.cs
index add883b6ce8..54969879d16 100644
--- a/mcs/class/corlib/System.Security.Cryptography/TripleDES.cs
+++ b/mcs/class/corlib/System.Security.Cryptography/TripleDES.cs
@@ -5,6 +5,10 @@
// Sebastien Pouliot <sebastien@ximian.com>
//
// (C) 2002, 2003 Motus Technologies Inc. (http://www.motus.com)
+// (C) 2004 Novell (http://www.novell.com)
+//
+
+//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
@@ -47,7 +51,7 @@ public abstract class TripleDES : SymmetricAlgorithm {
// from SymmetricAlgorithm
KeySizeValue = 192;
BlockSizeValue = 64;
- FeedbackSizeValue = 8;
+ FeedbackSizeValue = 64;
LegalKeySizesValue = new KeySizes [1];
LegalKeySizesValue [0] = new KeySizes (128, 192, 64);
diff --git a/mcs/class/corlib/System.Threading/ChangeLog b/mcs/class/corlib/System.Threading/ChangeLog
index d6236617956..ba1a9664f98 100644
--- a/mcs/class/corlib/System.Threading/ChangeLog
+++ b/mcs/class/corlib/System.Threading/ChangeLog
@@ -1,15 +1,3 @@
-2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * Timer.cs: don't invoke the callback if the period changes before the
- due time. Fixes bug #62421.
-
-2004-07-15 Dick Porter <dick@ximian.com>
-
- * Thread.cs: Hold a lock in GetNamedDataSlot. Fixes bug 61582,
- based on patch by Sébastien Robitaille
- (sebastien.robitaille@croesus.com). Also fix instances of
- lock(typeof(Thread)) to lock a private object instead.
-
2004-06-24 Dick Porter <dick@ximian.com>
* Mutex.cs: Implement the createdNew parameter
diff --git a/mcs/class/corlib/System.Threading/Thread.cs b/mcs/class/corlib/System.Threading/Thread.cs
index 911fb1dbe12..66826e12d40 100755
--- a/mcs/class/corlib/System.Threading/Thread.cs
+++ b/mcs/class/corlib/System.Threading/Thread.cs
@@ -157,10 +157,9 @@ namespace System.Threading
// Stores a hash keyed by strings of LocalDataStoreSlot objects
static Hashtable datastorehash;
- private static object datastore_lock = new object ();
-
+
private static void InitDataStoreHash () {
- lock (datastore_lock) {
+ lock (typeof (Thread)) {
if (datastorehash == null) {
datastorehash = Hashtable.Synchronized(new Hashtable());
}
@@ -168,7 +167,7 @@ namespace System.Threading
}
public static LocalDataStoreSlot AllocateNamedDataSlot(string name) {
- lock (datastore_lock) {
+ lock (typeof (Thread)) {
if (datastorehash == null)
InitDataStoreHash ();
LocalDataStoreSlot slot = (LocalDataStoreSlot)datastorehash[name];
@@ -187,7 +186,7 @@ namespace System.Threading
}
public static void FreeNamedDataSlot(string name) {
- lock (datastore_lock) {
+ lock (typeof (Thread)) {
if (datastorehash == null)
InitDataStoreHash ();
LocalDataStoreSlot slot=(LocalDataStoreSlot)datastorehash[name];
@@ -211,17 +210,15 @@ namespace System.Threading
public extern static int GetDomainID();
public static LocalDataStoreSlot GetNamedDataSlot(string name) {
- lock (datastore_lock) {
- if (datastorehash == null)
- InitDataStoreHash ();
- LocalDataStoreSlot slot=(LocalDataStoreSlot)datastorehash[name];
+ if (datastorehash == null)
+ InitDataStoreHash ();
+ LocalDataStoreSlot slot=(LocalDataStoreSlot)datastorehash[name];
- if(slot==null) {
- slot=AllocateNamedDataSlot(name);
- }
-
- return(slot);
+ if(slot==null) {
+ slot=AllocateNamedDataSlot(name);
}
+
+ return(slot);
}
[MethodImplAttribute(MethodImplOptions.InternalCall)]
diff --git a/mcs/class/corlib/System.Threading/Timer.cs b/mcs/class/corlib/System.Threading/Timer.cs
index 1675a5a4be7..164c60ef2ca 100755
--- a/mcs/class/corlib/System.Threading/Timer.cs
+++ b/mcs/class/corlib/System.Threading/Timer.cs
@@ -195,11 +195,10 @@ namespace System.Threading
if (runner == null)
return false;
-
- start_event.Reset ();
- runner.Abort ();
+
runner.DueTime = dueTime;
runner.Period = period;
+ runner.Abort ();
start_event.Set ();
return true;
}
diff --git a/mcs/class/corlib/System/ChangeLog b/mcs/class/corlib/System/ChangeLog
index d07ee07070c..b345b93f069 100644
--- a/mcs/class/corlib/System/ChangeLog
+++ b/mcs/class/corlib/System/ChangeLog
@@ -1,29 +1,3 @@
-2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * Environment.cs: (ExpandEnvironmentVariables) don't nullify the case
- insensitive environment variables hashtable once we create it.
-
-2004-08-19 Atsushi Enomoto <atsushi@ximian.com>
-
- * DateTime.cs : When hour format is "hh", MS.NET (maybe incorrectly)
- allows 12, that should not be accepted (13 is rejected) and
- interpreted as 0. This fixes bug 63376.
-
-2004-08-17 Sebastien Pouliot <sebastien@ximian.com>
-
- * Version.cs: Fixed Clone so we can use it on versions with only
- major/minor or major/minor/build.
-
-2004-07-07 Geoff Norton <gnorton@customerdna.com>
-
- * Monotype.cs: Patch for bug #58844. Dont throw exceptions right away;
- pass through all the possibly BindingInfo's and keep a bool value as to the type
- of exception we might need to throw;
-
-2004-07-07 Geoff Norton <gnorton@customerdna.com>
-
- * Patch to fix bug #58973
-
2004-06-25 Ben Maurer <bmaurer@ximian.com>
* Environment.cs: GetFolderPath has new behavior. r=miguel
diff --git a/mcs/class/corlib/System/DateTime.cs b/mcs/class/corlib/System/DateTime.cs
index ca1e1e564f7..cb90d719a98 100644
--- a/mcs/class/corlib/System/DateTime.cs
+++ b/mcs/class/corlib/System/DateTime.cs
@@ -1007,10 +1007,8 @@ namespace System
num = 1;
}
- if (hour > 12)
+ if (hour >= 12)
return false;
- if (hour == 12)
- hour = 0;
break;
case 'H':
diff --git a/mcs/class/corlib/System/Double.cs b/mcs/class/corlib/System/Double.cs
index 47f0d406531..a52c482792a 100644
--- a/mcs/class/corlib/System/Double.cs
+++ b/mcs/class/corlib/System/Double.cs
@@ -207,10 +207,6 @@ namespace System {
for (; sidx < len; sidx++){
c = s [sidx];
- if (c == '\0') {
- sidx = len;
- continue;
- }
switch (state){
case State_AllowSign:
if ((style & NumberStyles.AllowLeadingSign) != 0){
diff --git a/mcs/class/corlib/System/Environment.cs b/mcs/class/corlib/System/Environment.cs
index c21030f8b35..bf213ff4cb7 100644
--- a/mcs/class/corlib/System/Environment.cs
+++ b/mcs/class/corlib/System/Environment.cs
@@ -290,8 +290,8 @@ namespace System
PlatformID platform = Platform;
StringBuilder result = new StringBuilder ();
result.Append (name, 0, off1);
- Hashtable tbl = null;
do {
+ Hashtable tbl = null;
string var = name.Substring (off1 + 1, off2 - off1 - 1);
string value = GetEnvironmentVariable (var);
if (value == null && (int) platform != 128) {
diff --git a/mcs/class/corlib/System/MonoType.cs b/mcs/class/corlib/System/MonoType.cs
index 395332cf459..a04eeb93877 100644
--- a/mcs/class/corlib/System/MonoType.cs
+++ b/mcs/class/corlib/System/MonoType.cs
@@ -340,26 +340,22 @@ namespace System
name = attr.MemberName;
}
bool ignoreCase = (invokeAttr & BindingFlags.IgnoreCase) != 0;
- bool throwMissingMethodException = false;
- bool throwMissingFieldException = false;
if ((invokeAttr & BindingFlags.InvokeMethod) != 0) {
MethodInfo[] methods = GetMethodsByName (name, invokeAttr, ignoreCase, this);
object state = null;
MethodBase m = binder.BindToMethod (invokeAttr, methods, ref args, modifiers, culture, namedParameters, out state);
- if (m == null) {
- throwMissingMethodException = true;
- } else {
- object result = m.Invoke (target, invokeAttr, binder, args, culture);
- binder.ReorderArgumentArray (ref args, state);
- return result;
- }
+ if (m == null)
+ throw new MissingMethodException ();
+ object result = m.Invoke (target, invokeAttr, binder, args, culture);
+ binder.ReorderArgumentArray (ref args, state);
+ return result;
}
if ((invokeAttr & BindingFlags.GetField) != 0) {
FieldInfo f = GetField (name, invokeAttr);
if (f != null) {
return f.GetValue (target);
} else if ((invokeAttr & BindingFlags.GetProperty) == 0) {
- throwMissingFieldException = true;
+ throw new MissingFieldException ();
}
/* try GetProperty */
} else if ((invokeAttr & BindingFlags.SetField) != 0) {
@@ -368,7 +364,7 @@ namespace System
f.SetValue (target, args [0]);
return null;
} else if ((invokeAttr & BindingFlags.SetProperty) == 0) {
- throwMissingFieldException = true;
+ throw new MissingFieldException ();
}
/* try SetProperty */
}
@@ -388,13 +384,11 @@ namespace System
smethods [count++] = mb;
}
MethodBase m = binder.BindToMethod (invokeAttr, smethods, ref args, modifiers, culture, namedParameters, out state);
- if (m == null) {
- throwMissingFieldException = true;
- } else {
- object result = m.Invoke (target, invokeAttr, binder, args, culture);
- binder.ReorderArgumentArray (ref args, state);
- return result;
- }
+ if (m == null)
+ throw new MissingFieldException ();
+ object result = m.Invoke (target, invokeAttr, binder, args, culture);
+ binder.ReorderArgumentArray (ref args, state);
+ return result;
} else if ((invokeAttr & BindingFlags.SetProperty) != 0) {
PropertyInfo[] properties = GetPropertiesByName (name, invokeAttr, ignoreCase, this);
object state = null;
@@ -411,19 +405,12 @@ namespace System
smethods [count++] = mb;
}
MethodBase m = binder.BindToMethod (invokeAttr, smethods, ref args, modifiers, culture, namedParameters, out state);
- if (m == null) {
- throwMissingFieldException = true;
- } else {
- object result = m.Invoke (target, invokeAttr, binder, args, culture);
- binder.ReorderArgumentArray (ref args, state);
- return result;
- }
+ if (m == null)
+ throw new MissingFieldException ();
+ object result = m.Invoke (target, invokeAttr, binder, args, culture);
+ binder.ReorderArgumentArray (ref args, state);
+ return result;
}
- if (throwMissingMethodException)
- throw new MissingMethodException();
- if (throwMissingFieldException)
- throw new MissingFieldException();
-
return null;
}
diff --git a/mcs/class/corlib/System/Random.cs b/mcs/class/corlib/System/Random.cs
index e730865d76e..3bc3e23498b 100644
--- a/mcs/class/corlib/System/Random.cs
+++ b/mcs/class/corlib/System/Random.cs
@@ -74,7 +74,7 @@ namespace System
}
}
inext = 0;
- inextp = 31;
+ inextp = 21;
}
protected virtual double Sample ()
diff --git a/mcs/class/corlib/System/Version.cs b/mcs/class/corlib/System/Version.cs
index adc86fa5568..ea64cde7080 100644
--- a/mcs/class/corlib/System/Version.cs
+++ b/mcs/class/corlib/System/Version.cs
@@ -152,12 +152,7 @@ namespace System
public object Clone ()
{
- if (_Build == -1)
- return new Version (_Major, _Minor);
- else if (_Revision == -1)
- return new Version (_Major, _Minor, _Build);
- else
- return new Version (_Major, _Minor, _Build, _Revision);
+ return new Version (_Major, _Minor, _Build, _Revision);
}
public int CompareTo (object version)
diff --git a/mcs/class/corlib/Test/System.Collections/ChangeLog b/mcs/class/corlib/Test/System.Collections/ChangeLog
index 885360ab080..5e7760f0fad 100644
--- a/mcs/class/corlib/Test/System.Collections/ChangeLog
+++ b/mcs/class/corlib/Test/System.Collections/ChangeLog
@@ -1,7 +1,3 @@
-2004-07-28 Dick Porter <dick@ximian.com>
-
- * ComparerTest.cs: Test for invariant compares (bug 61458.)
-
2004-06-14 Sebastien Pouliot <sebastien@ximian.com>
* HashtableTest.cs: Added new case to CopyTo(Array,int) an empty
diff --git a/mcs/class/corlib/Test/System.Collections/ComparerTest.cs b/mcs/class/corlib/Test/System.Collections/ComparerTest.cs
index c1591fc3402..c6353f4ec6a 100644
--- a/mcs/class/corlib/Test/System.Collections/ComparerTest.cs
+++ b/mcs/class/corlib/Test/System.Collections/ComparerTest.cs
@@ -42,16 +42,7 @@ namespace MonoTests.System.Collections {
Assert(c.Compare (3, 2) > 0);
}
-
- [Test]
- public void Invariant ()
- {
- Comparer c = Comparer.DefaultInvariant;
-
- Assert (c.Compare ("a", "A") > 0);
- }
-
-
+
}
}
diff --git a/mcs/class/corlib/Test/System.Reflection/ChangeLog b/mcs/class/corlib/Test/System.Reflection/ChangeLog
index fd367c75537..2c5110a6ee3 100644
--- a/mcs/class/corlib/Test/System.Reflection/ChangeLog
+++ b/mcs/class/corlib/Test/System.Reflection/ChangeLog
@@ -1,7 +1,3 @@
-2004-07-03 Zoltan Varga <vargaz@freemail.hu>
-
- * ModuleTest.cs: New tests for FindTypes.
-
2004-06-10 Lluis Sanchez <lluis@ximian.com>
* AssemblyNameTest.cs: AssertEqualsByteArrays(): don't crash if arrays are
diff --git a/mcs/class/corlib/Test/System/ChangeLog b/mcs/class/corlib/Test/System/ChangeLog
index 1e1e1931fbe..b271ba154f9 100644
--- a/mcs/class/corlib/Test/System/ChangeLog
+++ b/mcs/class/corlib/Test/System/ChangeLog
@@ -1,8 +1,3 @@
-2004-08-17 Sebastien Pouliot <sebastien@ximian.com>
-
- * VersionTest.cs: Added tests when cloning a version with no build and
- no revision numbers (-1).
-
2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
* DoubleFormatterTest.cs: Added a new test for a negative roundtrip
diff --git a/mcs/class/corlib/Test/System/VersionTest.cs b/mcs/class/corlib/Test/System/VersionTest.cs
index 2467d963a48..635a485cadc 100644
--- a/mcs/class/corlib/Test/System/VersionTest.cs
+++ b/mcs/class/corlib/Test/System/VersionTest.cs
@@ -135,12 +135,6 @@ public class VersionTest : TestCase
Assert ("A1", v1.Equals (v2));
Assert ("A2", !ReferenceEquals (v1, v2));
-
- Version v3 = new Version (); // 0.0
- v2 = (Version) v3.Clone ();
-
- Assert ("A3", v3.Equals (v2));
- Assert ("A4", !ReferenceEquals (v3, v2));
}
public void TestCompareTo ()