<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net46</TargetFramework>
    <LangVersion>7.3</LangVersion>

    <AllowUnsafeBlocks>True</AllowUnsafeBlocks>

    <NoWarn>1701;1702;1705,67,169,1058,728,1720,649,168,251</NoWarn>

    <GenerateAssemblyInfo>False</GenerateAssemblyInfo>

    <EnableDefaultItems>false</EnableDefaultItems>

    <OutputType>Exe</OutputType>
    <StartupObject>ICSharpCode.Decompiler.Tests.Stub</StartupObject>
    <AutoGenerateBindingRedirects>True</AutoGenerateBindingRedirects>

    <SignAssembly>True</SignAssembly>
    <AssemblyOriginatorKeyFile>..\ICSharpCode.Decompiler\ICSharpCode.Decompiler.snk</AssemblyOriginatorKeyFile>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <DebugType>full</DebugType>
    <DebugSymbols>true</DebugSymbols>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)' == 'Release'">
    <DebugType>pdbonly</DebugType>
    <DebugSymbols>true</DebugSymbols>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <DefineConstants>TRACE;DEBUG;NET46;ROSLYN;CS60;CS70</DefineConstants>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="DiffLib" Version="2017.7.26.1241" />
    <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="2.8.0" />
    <PackageReference Include="Microsoft.CodeAnalysis.VisualBasic" Version="2.8.0" />
    <PackageReference Include="NUnit3TestAdapter" Version="3.9.0" />
    <PackageReference Include="System.Collections.Immutable" Version="1.3.1" />
    <PackageReference Include="NUnit" Version="3.9.0" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\ICSharpCode.Decompiler\ICSharpCode.Decompiler.csproj" />
  </ItemGroup>

  <ItemGroup>
    <None Include="TestCases\Correctness\Jmp.il" />
    <None Include="TestCases\Correctness\StackTypes.il" />
    <None Include="TestCases\ILPretty\FSharpLoops.fs" />
    <None Include="TestCases\ILPretty\FSharpLoops_Debug.il" />
    <None Include="TestCases\ILPretty\FSharpLoops_Release.il" />
    <None Include="TestCases\ILPretty\FSharpUsing.fs" />
    <None Include="TestCases\ILPretty\FSharpUsing_Debug.il" />
    <None Include="TestCases\ILPretty\FSharpUsing_Release.il" />
    <None Include="TestCases\Correctness\BitNot.il" />
    <None Include="TestCases\Correctness\Readme.txt" />
  </ItemGroup>

  <ItemGroup>
    <Compile Include="DisassemblerPrettyTestRunner.cs" />
    <Compile Include="Semantics\ConversionTests.cs" />
    <Compile Include="Semantics\ExplicitConversionTest.cs" />
    <Compile Include="Semantics\OverloadResolutionTests.cs" />
    <Compile Include="DataFlowTest.cs" />
    <Compile Include="TestCases\Correctness\RefLocalsAndReturns.cs" />
    <Compile Include="TestCases\Pretty\TypeTests.cs" />
    <None Include="TestCases\Disassembler\Pretty\SecurityDeclarations.il" />
    <Compile Include="TestCases\Pretty\CustomAttributeConflicts.cs" />
    <Compile Include="TestCases\Pretty\DynamicTests.cs" />
    <Compile Include="TestCases\Pretty\Issue1080.cs" />
    <Compile Include="TestCases\Pretty\MemberTests.cs" />
    <Compile Include="TestCases\Pretty\NamedArguments.cs" />
    <Compile Include="TestCases\Pretty\QualifierTests.cs" />
    <Compile Include="TestCases\Pretty\RefLocalsAndReturns.cs" />
    <Compile Include="TestCases\Pretty\TupleTests.cs" />
    <Compile Include="TestCases\Pretty\WellKnownConstants.cs" />
    <Compile Include="TypeSystem\TypeSystemLoaderTests.cs" />
    <Compile Include="TypeSystem\TypeSystemTestCase.cs" />
    <Compile Include="VBPrettyTestRunner.cs" />
    <Compile Include="TestCases\VBPretty\Async.cs" />
    <Compile Include="UglyTestRunner.cs" />
    <Compile Include="TestCases\Correctness\ExpressionTrees.cs" />
    <Compile Include="TestCases\Correctness\LINQRaytracer.cs" />
    <Compile Include="TestCases\Correctness\MiniJSON.cs" />
    <Compile Include="TestCases\Correctness\FloatingPointArithmetic.cs" />
    <Compile Include="TestCases\ILPretty\Issue1038.cs" />
    <None Include="TestCases\ILPretty\Issue1038.il" />
    <Compile Include="TestCases\Ugly\NoArrayInitializers.cs" />
    <None Include="TestCases\ILPretty\Issue1145.il" />
    <None Include="TestCases\Ugly\NoArrayInitializers.Expected.cs" />
    <None Include="TestCases\ILPretty\Issue1047.cs" />
    <Compile Include="TestCases\Correctness\NullPropagation.cs" />
    <Compile Include="TestCases\ILPretty\Issue982.cs" />
    <Compile Include="TestCases\Pretty\CS72_PrivateProtected.cs" />
    <Compile Include="TestCases\Pretty\CS6_StringInterpolation.cs" />
    <Compile Include="TestCases\Pretty\ExpressionTrees.cs" />
    <Compile Include="TestCases\Pretty\NullPropagation.cs" />
    <Compile Include="TestCases\Pretty\VariableNaming.cs" />
    <Compile Include="TestCases\Pretty\VariableNamingWithoutSymbols.cs" />
    <Compile Include="Util\SequencePointTests.cs" />
    <None Include="TestCases\ILPretty\Issue1047.il" />
    <None Include="TestCases\ILPretty\Issue959.cs" />
    <None Include="TestCases\ILPretty\FSharpLoops_Debug.cs" />
    <None Include="TestCases\ILPretty\FSharpLoops_Release.cs" />
    <Compile Include="TestCases\Pretty\DelegateConstruction.cs" />
    <None Include="TestCases\ILPretty\FSharpUsing_Debug.cs" />
    <None Include="TestCases\ILPretty\FSharpUsing_Release.cs" />
    <Compile Include="Helpers\CodeAssert.cs" />
    <Compile Include="Helpers\SdkUtility.cs" />
    <Compile Include="Helpers\RemoveCompilerAttribute.cs" />
    <Compile Include="Helpers\Tester.cs" />
    <Compile Include="Helpers\Tester.VB.cs" />
    <Compile Include="ILPrettyTestRunner.cs" />
    <Compile Include="Stub.cs" />
    <Compile Include="TestCases\Correctness\Loops.cs" />
    <Compile Include="TestCases\Correctness\NullableTests.cs" />
    <Compile Include="TestCases\Correctness\TrickyTypes.cs" />
    <Compile Include="TestCases\Correctness\Using.cs" />
    <Compile Include="TestCases\ILPretty\Issue379.cs" />
    <Compile Include="TestCases\Pretty\FixProxyCalls.cs" />
    <Compile Include="TestCases\Pretty\UnsafeCode.cs" />
    <Compile Include="TestCases\Pretty\InitializerTests.cs" />
    <None Include="TestCases\ILPretty\Issue959.il" />
    <None Include="TestCases\ILPretty\Issue646.cs" />
    <Compile Include="TestCases\Pretty\Async.cs" />
    <Compile Include="TestCases\Pretty\CheckedUnchecked.cs" />
    <Compile Include="TestCases\Pretty\Generics.cs" />
    <Compile Include="TestCases\Pretty\LiftedOperators.cs" />
    <Compile Include="PrettyTestRunner.cs" />
    <Compile Include="RoundtripAssembly.cs" />
    <Compile Include="TestCases\Correctness\Capturing.cs" />
    <Compile Include="TestCases\Correctness\OverloadResolution.cs" />
    <Compile Include="TestCases\Pretty\AnonymousTypes.cs" />
    <Compile Include="TestCases\Correctness\Async.cs" />
    <Compile Include="TestCases\Correctness\CompoundAssignment.cs" />
    <Compile Include="TestCases\Correctness\ConditionalAttr.cs" />
    <Compile Include="TestCases\Correctness\ControlFlow.cs" />
    <Compile Include="TestCases\Correctness\Conversions.cs" />
    <Compile Include="TestCases\Correctness\DecimalFields.cs" />
    <Compile Include="TestCases\Correctness\Comparisons.cs" />
    <Compile Include="TestCases\Correctness\Generics.cs" />
    <Compile Include="TestCases\Correctness\HelloWorld.cs" />
    <Compile Include="TestCases\Correctness\InitializerTests.cs" />
    <Compile Include="TestCases\Correctness\MemberLookup.cs" />
    <Compile Include="TestCases\Correctness\PropertiesAndEvents.cs" />
    <Compile Include="TestCases\Correctness\Switch.cs" />
    <Compile Include="TestCases\Correctness\UndocumentedExpressions.cs" />
    <Compile Include="TestCases\Correctness\UnsafeCode.cs" />
    <Compile Include="TestCases\Correctness\ValueTypeCall.cs" />
    <Compile Include="CorrectnessTestRunner.cs" />
    <Compile Include="TestCases\Pretty\AutoProperties.cs" />
    <Compile Include="TestCases\Pretty\Lock.cs" />
    <Compile Include="TestCases\Pretty\Loops.cs" />
    <Compile Include="TestCases\Correctness\YieldReturn.cs" />
    <Compile Include="TestCases\Pretty\CompoundAssignmentTest.cs" />
    <Compile Include="TestCases\Pretty\ExceptionHandling.cs" />
    <Compile Include="TestCases\Pretty\HelloWorld.cs" />
    <Compile Include="TestCases\Pretty\InlineAssignmentTest.cs" />
    <Compile Include="TestCases\Pretty\PInvoke.cs" />
    <Compile Include="TestCases\Pretty\PropertiesAndEvents.cs" />
    <Compile Include="TestCases\Pretty\QueryExpressions.cs" />
    <Compile Include="TestCases\Pretty\ShortCircuit.cs" />
    <Compile Include="TestCases\Pretty\Switch.cs" />
    <Compile Include="TestCases\Pretty\TypeAnalysisTests.cs" />
    <Compile Include="TestCases\Pretty\Using.cs" />
    <Compile Include="TestTraceListener.cs" />
    <Compile Include="Util\BitSetTests.cs" />
    <Compile Include="Util\IntervalTests.cs" />
    <Compile Include="Util\LongSetTests.cs" />
    <Compile Include="TestCases\Pretty\AssemblyCustomAttributes.cs" />
    <Compile Include="TestCases\Pretty\CustomAttributeSamples.cs" />
    <Compile Include="TestCases\Pretty\CustomAttributes.cs" />
    <Compile Include="CodeSampleFileParser.cs" />
  </ItemGroup>

  <ItemGroup>
    <None Include="TestCases\ILPretty\Issue646.il" />
    <None Include="TestCases\ILPretty\Issue379.il" />
    <None Include="TestCases\ILPretty\Issue982.il" />
    <None Include="TestCases\Pretty\Readme.txt" />
    <None Include="TestCases\VBPretty\Async.vb" />
  </ItemGroup>

  <ItemGroup>
    <Reference Include="Microsoft.CSharp" />
  </ItemGroup>

  <ItemGroup>
    <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
  </ItemGroup>

</Project>