Skip to content

Commit

Permalink
Replace Contract.Requires with Debug.Assert (dotnet/corefx#11600)
Browse files Browse the repository at this point in the history
* Replace Contract.Requires with Debug.Assert
* Remove unnessary Diagnostics.Contracts usings

Commit migrated from dotnet/corefx@3c0e848
  • Loading branch information
benaadams authored and stephentoub committed Sep 11, 2016
1 parent 9196992 commit 3ac4052
Show file tree
Hide file tree
Showing 123 changed files with 555 additions and 626 deletions.
Expand Up @@ -6,7 +6,6 @@

using System;
using System.Reflection;
using System.Diagnostics.Contracts;

namespace Internal.Reflection.Core.Execution.Binder
{
Expand Down
Expand Up @@ -419,8 +419,8 @@ public virtual bool ContainsValue(Object value)
// the KeyCollection class.
private void CopyKeys(Array array, int arrayIndex)
{
Contract.Requires(array != null);
Contract.Requires(array.Rank == 1);
Debug.Assert(array != null);
Debug.Assert(array.Rank == 1);

bucket[] lbuckets = _buckets;
for (int i = lbuckets.Length; --i >= 0;)
Expand All @@ -438,8 +438,8 @@ private void CopyKeys(Array array, int arrayIndex)
// the KeyCollection class.
private void CopyEntries(Array array, int arrayIndex)
{
Contract.Requires(array != null);
Contract.Requires(array.Rank == 1);
Debug.Assert(array != null);
Debug.Assert(array.Rank == 1);

bucket[] lbuckets = _buckets;
for (int i = lbuckets.Length; --i >= 0;)
Expand Down Expand Up @@ -496,8 +496,8 @@ internal virtual KeyValuePairs[] ToKeyValuePairsArray()
// the ValueCollection class.
private void CopyValues(Array array, int arrayIndex)
{
Contract.Requires(array != null);
Contract.Requires(array.Rank == 1);
Debug.Assert(array != null);
Debug.Assert(array.Rank == 1);

bucket[] lbuckets = _buckets;
for (int i = lbuckets.Length; --i >= 0;)
Expand Down
Expand Up @@ -4,7 +4,6 @@

using System;
using System.Diagnostics;
using System.Diagnostics.Contracts;

namespace System.Collections
{
Expand Down
Expand Up @@ -4,7 +4,6 @@

using System;
using System.Collections;
using System.Diagnostics.Contracts;

namespace System.Collections.Generic
{
Expand Down
Expand Up @@ -5,7 +5,6 @@
using System;
using System.Collections;
using System.Diagnostics;
using System.Diagnostics.Contracts;
using System.Runtime.CompilerServices;

namespace System.Collections.Generic
Expand Down
Expand Up @@ -5,7 +5,6 @@
using System;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Diagnostics.Contracts;
using System.Runtime;
using System.Runtime.Versioning;

Expand Down
Expand Up @@ -2298,7 +2298,6 @@ internal struct ElementCount
// used for set checking operations (using enumerables) that rely on counting
private static int log2(int value)
{
//Contract.Requires(value>0)
int c = 0;
while (value > 0)
{
Expand Down
14 changes: 7 additions & 7 deletions src/libraries/System.Console/src/System/ConsolePal.Windows.cs
Expand Up @@ -1172,9 +1172,9 @@ public override void Flush()

private unsafe static int ReadFileNative(IntPtr hFile, byte[] bytes, int offset, int count, bool isPipe, out int bytesRead, bool useFileAPIs)
{
Contract.Requires(offset >= 0, "offset >= 0");
Contract.Requires(count >= 0, "count >= 0");
Contract.Requires(bytes != null, "bytes != null");
Debug.Assert(offset >= 0, "offset >= 0");
Debug.Assert(count >= 0, "count >= 0");
Debug.Assert(bytes != null, "bytes != null");
// Don't corrupt memory when multiple threads are erroneously writing
// to this stream simultaneously.
if (bytes.Length - offset < count)
Expand Down Expand Up @@ -1217,10 +1217,10 @@ private unsafe static int ReadFileNative(IntPtr hFile, byte[] bytes, int offset,

private static unsafe int WriteFileNative(IntPtr hFile, byte[] bytes, int offset, int count, bool useFileAPIs)
{
Contract.Requires(offset >= 0, "offset >= 0");
Contract.Requires(count >= 0, "count >= 0");
Contract.Requires(bytes != null, "bytes != null");
Contract.Requires(bytes.Length >= offset + count, "bytes.Length >= offset + count");
Debug.Assert(offset >= 0, "offset >= 0");
Debug.Assert(count >= 0, "count >= 0");
Debug.Assert(bytes != null, "bytes != null");
Debug.Assert(bytes.Length >= offset + count, "bytes.Length >= offset + count");

// You can't use the fixed statement on an array of length 0.
if (bytes.Length == 0)
Expand Down
Expand Up @@ -5,7 +5,6 @@
using Microsoft.Win32.SafeHandles;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics.Contracts;
using System.Globalization;
using System.Runtime.InteropServices;
using System.Text;
Expand Down
Expand Up @@ -3,7 +3,6 @@
// See the LICENSE file in the project root for more information.

using System.Diagnostics;
using System.Diagnostics.Contracts;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
Expand Down
Expand Up @@ -31,7 +31,6 @@

using System;
using System.Diagnostics;
using System.Diagnostics.Contracts;

namespace System.IO.Compression
{
Expand Down
Expand Up @@ -3,7 +3,6 @@
// See the LICENSE file in the project root for more information.

using System.Diagnostics;
using System.Diagnostics.Contracts;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
Expand Down
Expand Up @@ -3,7 +3,6 @@
// See the LICENSE file in the project root for more information.

using System.Diagnostics;
using System.Diagnostics.Contracts;

namespace System.IO.Compression
{
Expand Down Expand Up @@ -92,7 +91,7 @@ internal static DateTime DosTimeToDateTime(UInt32 dateTime)
internal static UInt32 DateTimeToDosTime(DateTime dateTime)
{
// DateTime must be Convertible to DosTime:
Contract.Requires(ValidZipDate_YearMin <= dateTime.Year && dateTime.Year <= ValidZipDate_YearMax);
Debug.Assert(ValidZipDate_YearMin <= dateTime.Year && dateTime.Year <= ValidZipDate_YearMax);

int ret = ((dateTime.Year - ValidZipDate_YearMin) & 0x7F);
ret = (ret << 4) + dateTime.Month;
Expand Down
Expand Up @@ -4,7 +4,6 @@

using System;
using System.Diagnostics;
using System.Diagnostics.Contracts;
using System.Runtime.InteropServices;
using System.Text;

Expand Down
Expand Up @@ -3,7 +3,6 @@
// See the LICENSE file in the project root for more information.

using System;
using System.Diagnostics.Contracts;
using System.Security;
using System.Runtime.InteropServices;
using Microsoft.Win32;
Expand Down
51 changes: 26 additions & 25 deletions src/libraries/System.IO.FileSystem/src/System/IO/Directory.cs
Expand Up @@ -12,6 +12,7 @@
using System.Runtime.InteropServices;
using System.Globalization;
using System.Runtime.Versioning;
using System.Diagnostics;
using System.Diagnostics.Contracts;
using System.Threading;

Expand Down Expand Up @@ -206,9 +207,9 @@ public static String[] GetFiles(String path, String searchPattern, SearchOption
// given search pattern (i.e. "*.txt") and search option
private static String[] InternalGetFiles(String path, String searchPattern, SearchOption searchOption)
{
Contract.Requires(path != null);
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(path != null);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);

return InternalGetFileDirectoryNames(path, path, searchPattern, true, false, searchOption);
}
Expand Down Expand Up @@ -258,9 +259,9 @@ public static String[] GetDirectories(String path, String searchPattern, SearchO
// given search criteria (i.e. "*.txt").
private static String[] InternalGetDirectories(String path, String searchPattern, SearchOption searchOption)
{
Contract.Requires(path != null);
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(path != null);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Contract.Ensures(Contract.Result<String[]>() != null);

return InternalGetFileDirectoryNames(path, path, searchPattern, false, true, searchOption);
Expand Down Expand Up @@ -309,9 +310,9 @@ public static String[] GetFileSystemEntries(String path, String searchPattern, S

private static String[] InternalGetFileSystemEntries(String path, String searchPattern, SearchOption searchOption)
{
Contract.Requires(path != null);
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(path != null);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);

return InternalGetFileDirectoryNames(path, path, searchPattern, true, true, searchOption);
}
Expand All @@ -323,10 +324,10 @@ private static String[] InternalGetFileSystemEntries(String path, String searchP
// their parent folders (it will avoid duplicate permission checks)
internal static String[] InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, bool includeFiles, bool includeDirs, SearchOption searchOption)
{
Contract.Requires(path != null);
Contract.Requires(userPathOriginal != null);
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(path != null);
Debug.Assert(userPathOriginal != null);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);

IEnumerable<String> enumerable = FileSystem.Current.EnumeratePaths(path, searchPattern, searchOption,
(includeFiles ? SearchTarget.Files : 0) | (includeDirs ? SearchTarget.Directories : 0));
Expand Down Expand Up @@ -368,9 +369,9 @@ public static IEnumerable<String> EnumerateDirectories(String path, String searc

private static IEnumerable<String> InternalEnumerateDirectories(String path, String searchPattern, SearchOption searchOption)
{
Contract.Requires(path != null);
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(path != null);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);

return EnumerateFileSystemNames(path, searchPattern, searchOption, false, true);
}
Expand Down Expand Up @@ -413,9 +414,9 @@ public static IEnumerable<String> EnumerateFiles(String path, String searchPatte

private static IEnumerable<String> InternalEnumerateFiles(String path, String searchPattern, SearchOption searchOption)
{
Contract.Requires(path != null);
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(path != null);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Contract.Ensures(Contract.Result<IEnumerable<String>>() != null);

return EnumerateFileSystemNames(path, searchPattern, searchOption, true, false);
Expand Down Expand Up @@ -459,9 +460,9 @@ public static IEnumerable<String> EnumerateFileSystemEntries(String path, String

private static IEnumerable<String> InternalEnumerateFileSystemEntries(String path, String searchPattern, SearchOption searchOption)
{
Contract.Requires(path != null);
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(path != null);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Contract.Ensures(Contract.Result<IEnumerable<String>>() != null);

return EnumerateFileSystemNames(path, searchPattern, searchOption, true, true);
Expand All @@ -470,9 +471,9 @@ private static IEnumerable<String> InternalEnumerateFileSystemEntries(String pat
private static IEnumerable<String> EnumerateFileSystemNames(String path, String searchPattern, SearchOption searchOption,
bool includeFiles, bool includeDirs)
{
Contract.Requires(path != null);
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(path != null);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Contract.Ensures(Contract.Result<IEnumerable<String>>() != null);

return FileSystem.Current.EnumeratePaths(path, searchPattern, searchOption,
Expand Down
26 changes: 13 additions & 13 deletions src/libraries/System.IO.FileSystem/src/System/IO/DirectoryInfo.cs
Expand Up @@ -78,7 +78,7 @@ public DirectoryInfo CreateSubdirectory(String path)
[System.Security.SecurityCritical] // auto-generated
private DirectoryInfo CreateSubdirectoryHelper(String path)
{
Contract.Requires(path != null);
Debug.Assert(path != null);

PathHelpers.ThrowIfEmptyOrRootedPath(path);

Expand Down Expand Up @@ -152,8 +152,8 @@ public FileInfo[] GetFiles(String searchPattern, SearchOption searchOption)
// given search criteria (i.e. "*.txt").
private FileInfo[] InternalGetFiles(String searchPattern, SearchOption searchOption)
{
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);

IEnumerable<FileInfo> enumerable = (IEnumerable<FileInfo>)FileSystem.Current.EnumerateFileSystemInfos(FullPath, searchPattern, searchOption, SearchTarget.Files);
return EnumerableHelpers.ToArray(enumerable);
Expand Down Expand Up @@ -199,8 +199,8 @@ public FileSystemInfo[] GetFileSystemInfos(String searchPattern, SearchOption se
// given search criteria (i.e. "*.txt").
private FileSystemInfo[] InternalGetFileSystemInfos(String searchPattern, SearchOption searchOption)
{
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);

IEnumerable<FileSystemInfo> enumerable = FileSystem.Current.EnumerateFileSystemInfos(FullPath, searchPattern, searchOption, SearchTarget.Both);
return EnumerableHelpers.ToArray(enumerable);
Expand Down Expand Up @@ -244,8 +244,8 @@ public DirectoryInfo[] GetDirectories(String searchPattern, SearchOption searchO
// directories).
private DirectoryInfo[] InternalGetDirectories(String searchPattern, SearchOption searchOption)
{
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);

IEnumerable<DirectoryInfo> enumerable = (IEnumerable<DirectoryInfo>)FileSystem.Current.EnumerateFileSystemInfos(FullPath, searchPattern, searchOption, SearchTarget.Directories);
return EnumerableHelpers.ToArray(enumerable);
Expand Down Expand Up @@ -278,8 +278,8 @@ public IEnumerable<DirectoryInfo> EnumerateDirectories(String searchPattern, Sea

private IEnumerable<DirectoryInfo> InternalEnumerateDirectories(String searchPattern, SearchOption searchOption)
{
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);

return (IEnumerable<DirectoryInfo>)FileSystem.Current.EnumerateFileSystemInfos(FullPath, searchPattern, searchOption, SearchTarget.Directories);
}
Expand Down Expand Up @@ -311,8 +311,8 @@ public IEnumerable<FileInfo> EnumerateFiles(String searchPattern, SearchOption s

private IEnumerable<FileInfo> InternalEnumerateFiles(String searchPattern, SearchOption searchOption)
{
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);

return (IEnumerable<FileInfo>)FileSystem.Current.EnumerateFileSystemInfos(FullPath, searchPattern, searchOption, SearchTarget.Files);
}
Expand Down Expand Up @@ -344,8 +344,8 @@ public IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(String searchPattern

private IEnumerable<FileSystemInfo> InternalEnumerateFileSystemInfos(String searchPattern, SearchOption searchOption)
{
Contract.Requires(searchPattern != null);
Contract.Requires(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);
Debug.Assert(searchPattern != null);
Debug.Assert(searchOption == SearchOption.AllDirectories || searchOption == SearchOption.TopDirectoryOnly);

return FileSystem.Current.EnumerateFileSystemInfos(FullPath, searchPattern, searchOption, SearchTarget.Both);
}
Expand Down

0 comments on commit 3ac4052

Please sign in to comment.