Skip to content

Commit

Permalink
2009-10-07 Sebastien Pouliot <sebastien@ximian.com>
Browse files Browse the repository at this point in the history
	* String.cs: Remove unsafe code duplication in ToCharArray.
	Define out the unused InternalStrcpy icalls
	* StringComparer.cs: Seal internal/private inner classes.
	[Backport r143651]


svn path=/branches/mono-2-6/mcs/; revision=143653
  • Loading branch information
Sebastien Pouliot committed Oct 7, 2009
1 parent e7702bf commit d467491
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 9 deletions.
7 changes: 7 additions & 0 deletions mcs/class/corlib/System/ChangeLog
@@ -1,3 +1,10 @@
2009-10-07 Sebastien Pouliot <sebastien@ximian.com>

* String.cs: Remove unsafe code duplication in ToCharArray.
Define out the unused InternalStrcpy icalls
* StringComparer.cs: Seal internal/private inner classes.
[Backport r143651]

2009-10-06 Sebastien Pouliot <sebastien@ximian.com>

* Decimal.cs: Use Compare method instead of directly using the
Expand Down
11 changes: 4 additions & 7 deletions mcs/class/corlib/System/String.cs
Expand Up @@ -184,12 +184,9 @@ public unsafe void CopyTo (int sourceIndex, char[] destination, int destinationI
CharCopy (dest + destinationIndex, src + sourceIndex, count);
}

public unsafe char[] ToCharArray ()
public char[] ToCharArray ()
{
char[] tmp = new char [length];
fixed (char* dest = tmp, src = this)
CharCopy (dest, src, length);
return tmp;
return ToCharArray (0, length);
}

public unsafe char[] ToCharArray (int startIndex, int length)
Expand Down Expand Up @@ -3077,7 +3074,7 @@ internal static unsafe void CharCopyReverse (String target, int targetIndex, Str

[MethodImplAttribute (MethodImplOptions.InternalCall)]
internal extern static String InternalAllocateStr (int length);

#if false
[MethodImplAttribute (MethodImplOptions.InternalCall)]
internal extern static void InternalStrcpy (String dest, int destPos, String src);

Expand All @@ -3089,7 +3086,7 @@ internal static unsafe void CharCopyReverse (String target, int targetIndex, Str

[MethodImplAttribute (MethodImplOptions.InternalCall)]
internal extern static void InternalStrcpy (String dest, int destPos, char[] chars, int sPos, int count);

#endif
[MethodImplAttribute (MethodImplOptions.InternalCall)]
private extern static string InternalIntern (string str);

Expand Down
4 changes: 2 additions & 2 deletions mcs/class/corlib/System/StringComparer.cs
Expand Up @@ -145,7 +145,7 @@ public int GetHashCode (object obj)
}

[Serializable]
class CultureAwareComparer : StringComparer
sealed class CultureAwareComparer : StringComparer
{
readonly bool _ignoreCase;
readonly CompareInfo _compareInfo;
Expand Down Expand Up @@ -180,7 +180,7 @@ public override int GetHashCode (string s)
}

[Serializable]
internal class OrdinalComparer : StringComparer
internal sealed class OrdinalComparer : StringComparer
{
readonly bool _ignoreCase;

Expand Down

0 comments on commit d467491

Please sign in to comment.