Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
StephenCleary committed Apr 22, 2014
1 parent 8270895 commit bd0354c
Show file tree
Hide file tree
Showing 86 changed files with 6,044 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Expand Up @@ -5,6 +5,7 @@
*.suo
*.user
*.sln.docstates
.localhistory/

# Build results
[Dd]ebug/
Expand All @@ -15,6 +16,7 @@ build/
bld/
[Bb]in/
[Oo]bj/
*.nupkg

# MSTest test Results
[Tt]est[Rr]esult*/
Expand Down
Binary file added Comparers.128.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Source/AssemblyVersion.cs
Binary file not shown.
13 changes: 13 additions & 0 deletions Source/Build.ps1
@@ -0,0 +1,13 @@
$ErrorActionPreference = "Stop"

# Build solution
$project = get-project
$build = $project.DTE.Solution.SolutionBuild
$oldConfiguration = $build.ActiveConfiguration
$build.SolutionConfigurations.Item("Release").Activate()
$build.Build($true)
$oldConfiguration.Activate()

nuget pack -Symbols "Comparers\Comparers (NET4).csproj" -Prop Configuration=Release
nuget pack -Symbols "Comparers.Ix (NET45, Win8, WP8)\Comparers.Ix (NET45, Win8, WP8).csproj" -Prop Configuration=Release
nuget pack -Symbols "Comparers.Rx (NET4, Win8, SL5, WP8)\Comparers.Rx (NET4, Win8, SL5, WP8).csproj" -Prop Configuration=Release
@@ -0,0 +1,193 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{238B510E-25EE-4F9D-80CE-BE9987EE8AD1}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Comparers</RootNamespace>
<AssemblyName>Comparers</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Profile1</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<CodeContractsAssemblyMode>1</CodeContractsAssemblyMode>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;NO_GENERIC_VARIANCE NO_SERIALIZATION</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;NO_GENERIC_VARIANCE NO_SERIALIZATION</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DocumentationFile>bin\Release\Comparers.xml</DocumentationFile>
<CodeContractsEnableRuntimeChecking>False</CodeContractsEnableRuntimeChecking>
<CodeContractsRuntimeOnlyPublicSurface>True</CodeContractsRuntimeOnlyPublicSurface>
<CodeContractsRuntimeThrowOnFailure>True</CodeContractsRuntimeThrowOnFailure>
<CodeContractsRuntimeCallSiteRequires>False</CodeContractsRuntimeCallSiteRequires>
<CodeContractsRuntimeSkipQuantifiers>False</CodeContractsRuntimeSkipQuantifiers>
<CodeContractsRunCodeAnalysis>False</CodeContractsRunCodeAnalysis>
<CodeContractsNonNullObligations>False</CodeContractsNonNullObligations>
<CodeContractsBoundsObligations>False</CodeContractsBoundsObligations>
<CodeContractsArithmeticObligations>False</CodeContractsArithmeticObligations>
<CodeContractsEnumObligations>False</CodeContractsEnumObligations>
<CodeContractsRedundantAssumptions>False</CodeContractsRedundantAssumptions>
<CodeContractsInferRequires>False</CodeContractsInferRequires>
<CodeContractsInferEnsures>False</CodeContractsInferEnsures>
<CodeContractsInferObjectInvariants>False</CodeContractsInferObjectInvariants>
<CodeContractsSuggestAssumptions>False</CodeContractsSuggestAssumptions>
<CodeContractsSuggestRequires>True</CodeContractsSuggestRequires>
<CodeContractsSuggestEnsures>False</CodeContractsSuggestEnsures>
<CodeContractsSuggestObjectInvariants>False</CodeContractsSuggestObjectInvariants>
<CodeContractsDisjunctiveRequires>False</CodeContractsDisjunctiveRequires>
<CodeContractsRunInBackground>True</CodeContractsRunInBackground>
<CodeContractsShowSquigglies>False</CodeContractsShowSquigglies>
<CodeContractsUseBaseLine>False</CodeContractsUseBaseLine>
<CodeContractsEmitXMLDocs>False</CodeContractsEmitXMLDocs>
<CodeContractsCustomRewriterAssembly />
<CodeContractsCustomRewriterClass />
<CodeContractsLibPaths />
<CodeContractsExtraRewriteOptions />
<CodeContractsExtraAnalysisOptions />
<CodeContractsBaseLineFile />
<CodeContractsCacheAnalysisResults>False</CodeContractsCacheAnalysisResults>
<CodeContractsRuntimeCheckingLevel>Preconditions</CodeContractsRuntimeCheckingLevel>
<CodeContractsReferenceAssembly>%28none%29</CodeContractsReferenceAssembly>
<CodeContractsAnalysisWarningLevel>0</CodeContractsAnalysisWarningLevel>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\Comparers\Comparers\AnonymousComparer.cs">
<Link>Comparers\AnonymousComparer.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\ComparableBase.cs">
<Link>Comparers\ComparableBase.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\ComparableBaseWithOperators.cs">
<Link>Comparers\ComparableBaseWithOperators.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\Compare %28of T%29.cs">
<Link>Comparers\Compare %28of T%29.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\ComparerExtensions.cs">
<Link>Comparers\ComparerExtensions.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\CompareSource.cs">
<Link>Comparers\CompareSource.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\IFullComparer.cs">
<Link>Comparers\IFullComparer.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\Linq\EnumerableExtensions.cs">
<Link>Comparers\Linq\EnumerableExtensions.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\Util\ComparableImplementations.cs">
<Link>Comparers\Util\ComparableImplementations.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\Util\ComparerBase.cs">
<Link>Comparers\Util\ComparerBase.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\Util\ComparerHelpers.cs">
<Link>Comparers\Util\ComparerHelpers.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\Util\CompoundComparer.cs">
<Link>Comparers\Util\CompoundComparer.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\Util\DefaultComparer.cs">
<Link>Comparers\Util\DefaultComparer.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\Util\NullComparer.cs">
<Link>Comparers\Util\NullComparer.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\Util\ReverseComparer.cs">
<Link>Comparers\Util\ReverseComparer.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\Util\SelectComparer.cs">
<Link>Comparers\Util\SelectComparer.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\Util\SequenceComparer.cs">
<Link>Comparers\Util\SequenceComparer.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\Util\SourceComparerBase.cs">
<Link>Comparers\Util\SourceComparerBase.cs</Link>
</Compile>
<Compile Include="..\Comparers\Comparers\Util\UtilityComparerExtensions.cs">
<Link>Comparers\Util\UtilityComparerExtensions.cs</Link>
</Compile>
<Compile Include="..\Comparers\ContractExtensions.cs">
<Link>ContractExtensions.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\AnonymousEqualityComparer.cs">
<Link>EqualityComparers\AnonymousEqualityComparer.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\EqualityCompare %28of T%29.cs">
<Link>EqualityComparers\EqualityCompare %28of T%29.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\EqualityComparerExtensions.cs">
<Link>EqualityComparers\EqualityComparerExtensions.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\EqualityCompareSource.cs">
<Link>EqualityComparers\EqualityCompareSource.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\EquatableBase.cs">
<Link>EqualityComparers\EquatableBase.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\EquatableBaseWithOperators.cs">
<Link>EqualityComparers\EquatableBaseWithOperators.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\Util\CompoundEqualityComparer.cs">
<Link>EqualityComparers\Util\CompoundEqualityComparer.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\Util\EqualityComparerBase.cs">
<Link>EqualityComparers\Util\EqualityComparerBase.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\Util\EqualityComparerHelpers.cs">
<Link>EqualityComparers\Util\EqualityComparerHelpers.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\Util\ReferenceEqualityComparer.cs">
<Link>EqualityComparers\Util\ReferenceEqualityComparer.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\Util\SelectEqualityComparer.cs">
<Link>EqualityComparers\Util\SelectEqualityComparer.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\Util\SequenceEqualityComparer.cs">
<Link>EqualityComparers\Util\SequenceEqualityComparer.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\Util\SourceEqualityComparerBase.cs">
<Link>EqualityComparers\Util\SourceEqualityComparerBase.cs</Link>
</Compile>
<Compile Include="..\Comparers\EqualityComparers\Util\UtilityEqualityComparerExtensions.cs">
<Link>EqualityComparers\Util\UtilityEqualityComparerExtensions.cs</Link>
</Compile>
<Compile Include="..\Comparers\Properties\SharedAssemblyInfo.cs">
<Link>Properties\SharedAssemblyInfo.cs</Link>
</Compile>
<Compile Include="Contracts.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<Reference Include="System" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
31 changes: 31 additions & 0 deletions Source/Comparers (NET4, Win8, SL4, WP7, XBox)/Contracts.cs
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace System.Diagnostics.Contracts
{
internal static class Contract
{
public static T Result<T>() { return default(T); }

[Conditional("never")]
public static void Ensures(bool condition) { }

[Conditional("never")]
public static void Requires(bool condition) { }

[Conditional("never")]
public static void Assume(bool condition) { }

[Conditional("never")]
public static void Assert(bool condition) { }

[Conditional("never")]
public static void Invariant(bool condition) { }
}

internal sealed class ContractInvariantMethodAttribute : Attribute
{
}
}
@@ -0,0 +1,3 @@
using System.Reflection;

[assembly: AssemblyTitle("Comparers Library for .NET 4.0, Windows 8, Silverlight 4, Windows Phone Silverlight 7, and XBox")]

0 comments on commit bd0354c

Please sign in to comment.