1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
4  <PropertyGroup>
5    <!-- Enabling the interpreter for RC1 in all builds, see https://github.com/dotnet/corefx/issues/4033 -->
6    <FeatureInterpret>true</FeatureInterpret>
7  </PropertyGroup>
8  <PropertyGroup>
9    <ProjectGuid>{4B4AA59B-89F9-4A34-B3C3-C97EF531EE00}</ProjectGuid>
10    <IsInterpreting Condition="'$(TargetGroup)' == 'uapaot'">true</IsInterpreting>
11    <DefineConstants Condition=" '$(IsInterpreting)' != 'true' ">$(DefineConstants);FEATURE_COMPILE</DefineConstants>
12    <DefineConstants Condition=" '$(FeatureInterpret)' == 'true' ">$(DefineConstants);FEATURE_INTERPRET</DefineConstants>
13    <IncludeDefaultReferences>false</IncludeDefaultReferences>
14  </PropertyGroup>
15  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netcoreapp-Windows_NT-Debug|AnyCPU'" />
16  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netcoreapp-Windows_NT-Release|AnyCPU'" />
17  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netcoreapp-Unix-Debug|AnyCPU'" />
18  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netcoreapp-Unix-Release|AnyCPU'" />
19  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'uap-Windows_NT-Debug|AnyCPU'" />
20  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'uap-Windows_NT-Release|AnyCPU'" />
21  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'uapaot-Windows_NT-Debug|AnyCPU'" />
22  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'uapaot-Windows_NT-Release|AnyCPU'" />
23  <ItemGroup>
24    <TargetingPackExclusions Include="System.Linq.Expressions" />
25    <ReferenceFromRuntime Include="System.Linq.Expressions" />
26  </ItemGroup>
27  <ItemGroup>
28    <ReferenceFromRuntime Include="System.Private.CoreLib" />
29    <ReferenceFromRuntime Include="CoreFx.Private.TestUtilities" />
30    <ReferenceFromRuntime Include="xunit.core" />
31    <ReferenceFromRuntime Include="Xunit.NetCore.Extensions" />
32    <ReferenceFromRuntime Include="xunit.assert" />
33    <ReferenceFromRuntime Include="xunit.abstractions" />
34    <ReferenceFromRuntime Include="xunit.performance.core" />
35    <ReferenceFromRuntime Include="xunit.performance.api" />
36    <ReferenceFromRuntime Include="System.Runtime" />
37    <ReferenceFromRuntime Include="System.Collections" />
38    <ReferenceFromRuntime Include="System.Reflection.Primitives" />
39    <ReferenceFromRuntime Include="Microsoft.CSharp" />
40    <ReferenceFromRuntime Include="System.Runtime.Extensions" />
41    <ReferenceFromRuntime Include="System.Private.Uri" />
42    <ReferenceFromRuntime Include="System.Text.RegularExpressions" />
43    <ReferenceFromRuntime Include="System.Diagnostics.Debug" />
44    <ReferenceFromRuntime Include="System.ObjectModel" />
45    <ReferenceFromRuntime Include="System.Threading.Thread" />
46    <ReferenceFromRuntime Include="System.Threading.Tasks" />
47    <ReferenceFromRuntime Include="System.Linq" />
48    <ReferenceFromRuntime Include="System.Linq.Queryable" />
49    <ReferenceFromRuntime Include="System.Reflection" />
50    <ReferenceFromRuntime Include="System.IO.FileSystem" />
51    <ReferenceFromRuntime Include="System.Runtime.InteropServices.RuntimeInformation" />
52    <ReferenceFromRuntime Include="System.Runtime.InteropServices" />
53    <ReferenceFromRuntime Include="System.Private.Interop" Condition="'$(TargetGroup)' == 'uapaot'" />
54    <ReferenceFromRuntime Include="netstandard" />
55  </ItemGroup>
56  <ItemGroup>
57    <AdditionalCodeCoverageAssemblies Include="Microsoft.CSharp" />
58  </ItemGroup>
59  <ItemGroup>
60    <Compile Include="CompilerTests.cs" />
61    <Compile Include="Array\ArrayAccessTests.cs" />
62    <Compile Include="Array\ArrayArrayIndexTests.cs" />
63    <Compile Include="Array\ArrayArrayLengthTests.cs" />
64    <Compile Include="Array\ArrayBoundsOneOffTests.cs" />
65    <Compile Include="Array\ArrayIndexTests.cs" />
66    <Compile Include="Array\ArrayLengthTests.cs" />
67    <Compile Include="Array\NewArrayBoundsTests.cs" />
68    <Compile Include="Array\NewArrayListTests.cs" />
69    <Compile Include="Array\NullableArrayIndexTests.cs" />
70    <Compile Include="Array\NullableArrayLengthTests.cs" />
71    <Compile Include="Array\NullableNewArrayListTests.cs" />
72    <Compile Include="BinaryOperators\Arithmetic\BinaryShiftTests.cs" />
73    <Compile Include="BinaryOperators\Arithmetic\BinaryAddTests.cs" />
74    <Compile Include="BinaryOperators\Arithmetic\BinaryDivideTests.cs" />
75    <Compile Include="BinaryOperators\Arithmetic\BinaryModuloTests.cs" />
76    <Compile Include="BinaryOperators\Arithmetic\BinaryMultiplyTests.cs" />
77    <Compile Include="BinaryOperators\Arithmetic\BinaryNullableAddTests.cs" />
78    <Compile Include="BinaryOperators\Arithmetic\BinaryNullableDivideTests.cs" />
79    <Compile Include="BinaryOperators\Arithmetic\BinaryNullableModuloTests.cs" />
80    <Compile Include="BinaryOperators\Arithmetic\BinaryNullableMultiplyTests.cs" />
81    <Compile Include="BinaryOperators\Arithmetic\BinaryNullablePowerTests.cs" />
82    <Compile Include="BinaryOperators\Arithmetic\BinaryNullableSubtractTests.cs" />
83    <Compile Include="BinaryOperators\Arithmetic\BinaryPowerTests.cs" />
84    <Compile Include="BinaryOperators\Arithmetic\BinarySubtractTests.cs" />
85    <Compile Include="BinaryOperators\Assignment\Assign.cs" />
86    <Compile Include="BinaryOperators\Assignment\OpAssign.cs" />
87    <Compile Include="BinaryOperators\Bitwise\BinaryAndTests.cs" />
88    <Compile Include="BinaryOperators\Bitwise\BinaryExclusiveOrTests.cs" />
89    <Compile Include="BinaryOperators\Bitwise\BinaryNullableAndTests.cs" />
90    <Compile Include="BinaryOperators\Bitwise\BinaryNullableExclusiveOrTests.cs" />
91    <Compile Include="BinaryOperators\Bitwise\BinaryNullableOrTests.cs" />
92    <Compile Include="BinaryOperators\Bitwise\BinaryOrTests.cs" />
93    <Compile Include="BinaryOperators\Coalesce\BinaryCoalesceTests.cs" />
94    <Compile Include="BinaryOperators\Comparison\EqualNotEqualTests.cs" />
95    <Compile Include="BinaryOperators\Comparison\CompareTests.cs" />
96    <Compile Include="BinaryOperators\GeneralBinaryTests.cs" />
97    <Compile Include="BinaryOperators\Logical\BinaryLogicalTests.cs" />
98    <Compile Include="BinaryOperators\Logical\BinaryNullableLogicalTests.cs" />
99    <Compile Include="BinaryOperators\ReferenceComparison\ReferenceEqual.cs" />
100    <Compile Include="BinaryOperators\ReferenceComparison\ReferenceEqualityTests.cs" />
101    <Compile Include="BinaryOperators\ReferenceComparison\ReferenceNotEqual.cs" />
102    <Compile Include="Block\BlockFactoryTests.cs" />
103    <Compile Include="Block\BlockTests.cs" />
104    <Compile Include="Block\NoParameterBlockTests.cs" />
105    <Compile Include="Block\ParameterBlockTests.cs" />
106    <Compile Include="Block\SharedBlockTests.cs" />
107    <Compile Include="Call\CallFactoryTests.cs" />
108    <Compile Include="Call\CallTests.cs" />
109    <Compile Include="Cast\AsNullable.cs" />
110    <Compile Include="Cast\AsTests.cs" />
111    <Compile Include="Cast\CastNullableTests.cs" />
112    <Compile Include="Cast\CastTests.cs" />
113    <Compile Include="Cast\IsNullableTests.cs" />
114    <Compile Include="Cast\IsTests.cs" />
115    <Compile Include="Conditional\ConditionalTests.cs" />
116    <Compile Include="Constant\ConstantArrayTests.cs" />
117    <Compile Include="Constant\ConstantNullableTests.cs" />
118    <Compile Include="Constant\ConstantTests.cs" />
119    <Compile Include="Convert\ConvertCheckedTests.cs" />
120    <Compile Include="Convert\ConvertTests.cs" />
121    <Compile Include="DebugInfo\DebugInfoExpressionTests.cs" />
122    <Compile Include="DebugInfo\SymbolDocumentInfoTests.cs" />
123    <Compile Include="Default\DefaultTests.cs" />
124    <Compile Include="DelegateType\ActionTypeTests.cs" />
125    <Compile Include="DelegateType\DelegateCreationTests.cs" />
126    <Compile Include="DelegateType\FuncTypeTests.cs" />
127    <Compile Include="DelegateType\GetDelegateTypeTests.cs" />
128    <Compile Include="DynamicExpression\DynamicExpressionTests.cs" />
129    <Compile Include="Dynamic\BinaryOperationTests.cs" />
130    <Compile Include="Dynamic\BindingRestrictionsTests.cs" />
131    <Compile Include="Dynamic\CallInfoTests.cs" />
132    <Compile Include="Dynamic\CallSiteBinderDefaultBehaviourTests.cs" />
133    <Compile Include="Dynamic\CallSiteTests.cs" />
134    <Compile Include="Dynamic\ConvertBinderTests.cs" />
135    <Compile Include="Dynamic\DynamicAttributeTests.cs" />
136    <Compile Include="Dynamic\DynamicObjectTests.cs" />
137    <Compile Include="Dynamic\DynamicObjectDefaultBehaviorTests.cs" />
138    <Compile Include="Dynamic\ExpandoObjectTests.cs" />
139    <Compile Include="Dynamic\GetIndexBinderTests.cs" />
140    <Compile Include="Dynamic\GetMemberBinderTests.cs" />
141    <Compile Include="Dynamic\InvokeBinderTests.cs" />
142    <Compile Include="Dynamic\InvokeMemberBindingTests.cs" />
143    <Compile Include="Dynamic\SetIndexBinderTests.cs" />
144    <Compile Include="Dynamic\SetMemberBinderTests.cs" />
145    <Compile Include="Dynamic\UnaryOperationTests.cs" />
146    <Compile Include="ExceptionHandling\ExceptionHandlingExpressions.cs" />
147    <Compile Include="ExpressionTests.cs" />
148    <Compile Include="Goto\Break.cs" />
149    <Compile Include="Goto\Continue.cs" />
150    <Compile Include="Goto\Goto.cs" />
151    <Compile Include="Goto\GotoExpressionTests.cs" />
152    <Compile Include="Goto\MakeGoto.cs" />
153    <Compile Include="Goto\Return.cs" />
154    <Compile Include="HelperTypes.cs" />
155    <Compile Include="ILReader\ITypeFactory.cs" />
156    <Compile Include="IndexExpression\IndexExpressionHelpers.cs" />
157    <Compile Include="IndexExpression\IndexExpressionVisitorTests.cs" />
158    <Compile Include="IndexExpression\SampleClassWithProperties.cs" />
159    <Compile Include="IndexExpression\IndexExpressionTests.cs" />
160    <Compile Include="InterpreterTests.cs" />
161    <Compile Include="Invoke\InvocationTests.cs" />
162    <Compile Include="Invoke\InvokeFactoryTests.cs" />
163    <Compile Include="Label\LabelTargetTests.cs" />
164    <Compile Include="Label\LabelTests.cs" />
165    <Compile Include="Lambda\LambdaAddNullableTests.cs" />
166    <Compile Include="Lambda\LambdaAddTests.cs" />
167    <Compile Include="Lambda\LambdaDivideNullableTests.cs" />
168    <Compile Include="Lambda\LambdaDivideTests.cs" />
169    <Compile Include="Lambda\LambdaIdentityNullableTests.cs" />
170    <Compile Include="Lambda\LambdaIdentityTests.cs" />
171    <Compile Include="Lambda\LambdaModuloNullableTests.cs" />
172    <Compile Include="Lambda\LambdaModuloTests.cs" />
173    <Compile Include="Lambda\LambdaMultiplyNullableTests.cs" />
174    <Compile Include="Lambda\LambdaMultiplyTests.cs" />
175    <Compile Include="Lambda\LambdaSubtractNullableTests.cs" />
176    <Compile Include="Lambda\LambdaSubtractTests.cs" />
177    <Compile Include="Lambda\LambdaTests.cs" />
178    <Compile Include="Lambda\LambdaUnaryNotNullableTests.cs" />
179    <Compile Include="Lambda\LambdaUnaryNotTests.cs" />
180    <Compile Include="Lifted\LiftedAddCheckedNullableTests.cs" />
181    <Compile Include="Lifted\LiftedAddNullableTests.cs" />
182    <Compile Include="Lifted\LiftedBitwiseAndNullableTests.cs" />
183    <Compile Include="Lifted\LiftedBitwiseExclusiveOrNullableTests.cs" />
184    <Compile Include="Lifted\LiftedBitwiseOrNullableTests.cs" />
185    <Compile Include="Lifted\LiftedComparisonEqualNullableTests.cs" />
186    <Compile Include="Lifted\LiftedComparisonGreaterThanNullableTests.cs" />
187    <Compile Include="Lifted\LiftedComparisonGreaterThanOrEqualNullableTests.cs" />
188    <Compile Include="Lifted\LiftedComparisonLessThanNullableTests.cs" />
189    <Compile Include="Lifted\LiftedComparisonLessThanOrEqualNullableTests.cs" />
190    <Compile Include="Lifted\LiftedComparisonNotEqualNullableTests.cs" />
191    <Compile Include="Lifted\LiftedDivideNullableTests.cs" />
192    <Compile Include="Lifted\LiftedModuloNullableTests.cs" />
193    <Compile Include="Lifted\LiftedMultiplyCheckedNullableTests.cs" />
194    <Compile Include="Lifted\LiftedMultiplyNullableTests.cs" />
195    <Compile Include="Lifted\LiftedNullableTests.cs" />
196    <Compile Include="Lifted\LiftedSubtractCheckedNullableTests.cs" />
197    <Compile Include="Lifted\LiftedSubtractNullableTests.cs" />
198    <Compile Include="Lifted\NonLiftedComparisonEqualNullableTests.cs" />
199    <Compile Include="Lifted\NonLiftedComparisonGreaterThanNullableTests.cs" />
200    <Compile Include="Lifted\NonLiftedComparisonGreaterThanOrEqualNullableTests.cs" />
201    <Compile Include="Lifted\NonLiftedComparisonLessThanNullableTests.cs" />
202    <Compile Include="Lifted\NonLiftedComparisonLessThanOrEqualNullableTests.cs" />
203    <Compile Include="Lifted\NonLiftedComparisonNotEqualNullableTests.cs" />
204    <Compile Include="ListInit\ElementInitTests.cs" />
205    <Compile Include="ListInit\ListInitExpressionTests.cs" />
206    <Compile Include="Loop\LoopTests.cs" />
207    <Compile Include="MemberInit\BindTests.cs" />
208    <Compile Include="MemberInit\ListBindTests.cs" />
209    <Compile Include="MemberInit\MemberBindTests.cs" />
210    <Compile Include="MemberInit\MemberInitTests.cs" />
211    <Compile Include="Member\MemberAccessTests.cs" />
212    <Compile Include="New\NewWithByRefParameterTests.cs" />
213    <Compile Include="New\NewTests.cs" />
214    <Compile Include="New\NewWithParameterTests.cs" />
215    <Compile Include="New\NewWithTwoParametersTests.cs" />
216    <Compile Include="ReadOnlyCollectionBuilderTests.cs" />
217    <Compile Include="SequenceTests\SequenceTests.cs" />
218    <Compile Include="StackSpillerTests.cs" />
219    <Compile Include="Switch\SwitchTests.cs" />
220    <Compile Include="Ternary\TernaryArrayNullableTests.cs" />
221    <Compile Include="Ternary\TernaryArrayTests.cs" />
222    <Compile Include="Ternary\TernaryNullableTests.cs" />
223    <Compile Include="Ternary\TernaryTests.cs" />
224    <Compile Include="TestExtensions\InlinePerCompilationTypeAttribute.cs" />
225    <Compile Include="TestExtensions\PerCompilationTypeAttribute.cs" />
226    <Compile Include="TestExtensions\TestOrderer.cs" />
227    <Compile Include="TestExtensions\TestOrderAttribute.cs" />
228    <Compile Include="TypeBinary\TypeBinaryTests.cs" />
229    <Compile Include="TypeBinary\TypeEqual.cs" />
230    <Compile Include="TypeBinary\TypeIs.cs" />
231    <Compile Include="Unary\IncDecAssign\IncDecAssignTests.cs" />
232    <Compile Include="Unary\IncDecAssign\PostDecrementAssignTests.cs" />
233    <Compile Include="Unary\IncDecAssign\PostIncrementAssignTests.cs" />
234    <Compile Include="Unary\IncDecAssign\PreDecrementAssignTests.cs" />
235    <Compile Include="Unary\IncDecAssign\PreIncrementAssignTests.cs" />
236    <Compile Include="Unary\IncrementDecrementTests.cs" />
237    <Compile Include="Unary\MakeUnaryTests.cs" />
238    <Compile Include="Unary\UnaryArithmeticNegateNullableOneOffTests.cs" />
239    <Compile Include="Unary\UnaryArithmeticNegateCheckedNullableTests.cs" />
240    <Compile Include="Unary\UnaryArithmeticNegateNullableTests.cs" />
241    <Compile Include="Unary\UnaryArithmeticNegateCheckedTests.cs" />
242    <Compile Include="Unary\UnaryArithmeticNegateTests.cs" />
243    <Compile Include="Unary\UnaryBitwiseNotNullableTests.cs" />
244    <Compile Include="Unary\UnaryConvertTests.cs" />
245    <Compile Include="Unary\UnaryDecrementTests.cs" />
246    <Compile Include="Unary\UnaryDecrementNullableTests.cs" />
247    <Compile Include="Unary\UnaryIncrementNullableTests.cs" />
248    <Compile Include="Unary\UnaryIncrementTests.cs" />
249    <Compile Include="Unary\UnaryBitwiseNotTests.cs" />
250    <Compile Include="Unary\UnaryIsFalseNullableTests.cs" />
251    <Compile Include="Unary\UnaryIsFalseTests.cs" />
252    <Compile Include="Unary\UnaryIsTrueNullableTests.cs" />
253    <Compile Include="Unary\UnaryQuoteTests.cs" />
254    <Compile Include="Unary\UnaryUnboxTests.cs" />
255    <Compile Include="Unary\UnaryIsTrueTests.cs" />
256    <Compile Include="Unary\UnaryOnesComplementNullableTests.cs" />
257    <Compile Include="Unary\UnaryUnaryPlusNullableTests.cs" />
258    <Compile Include="Unary\UnaryOnesComplementTests.cs" />
259    <Compile Include="Unary\UnaryUnaryPlusTests.cs" />
260    <Compile Include="Unary\UnboxTests.cs" />
261    <Compile Include="Variables\ParameterExpressionTests.cs" />
262    <Compile Include="Variables\ParameterTests.cs" />
263    <Compile Include="Variables\RuntimeVariablesTests.cs" />
264    <Compile Include="Variables\VariableTests.cs" />
265    <Compile Include="Visitor\VisitorTests.cs" />
266  </ItemGroup>
267  <ItemGroup Condition=" '$(IsInterpreting)' != 'true' ">
268    <Compile Include="$(CommonTestPath)\System\Collections\DictionaryExtensions.cs">
269      <Link>Common\System\Collections\DictionaryExtensions.cs</Link>
270    </Compile>
271    <Compile Include="ILReader\DynamicMethodILProvider.cs" />
272    <Compile Include="ILReader\DynamicScopeTokenResolver.cs" />
273    <Compile Include="ILReader\FormatProvider.cs" />
274    <Compile Include="ILReader\ILInstruction.cs" />
275    <Compile Include="ILReader\ILProvider.cs" />
276    <Compile Include="ILReader\ILReader.cs" />
277    <Compile Include="ILReader\ILReaderFactory.cs" />
278    <Compile Include="ILReader\ReadableILStringVisitor.cs" />
279    <Compile Include="ILReader\TokenResolver.cs" />
280    <Compile Include="ILReader\ILPrinter.cs" />
281    <Compile Include="ILReader\PrivateReflectionHelpers.cs" />
282    <Compile Include="ILReader\LocalsSignatureParser.cs" />
283    <Compile Include="ILReader\SigParser.cs" />
284  </ItemGroup>
285  <!-- DebuggerAttribute tests require internal framework Reflection and will not work on AoT platforms.
286       The proper way to test these is via the debugger expression evaluator, not Reflection. -->
287  <ItemGroup Condition="'$(TargetGroup)'!='uapaot'">
288    <Compile Include="DebugViewTests.cs" />
289    <Compile Include="DebuggerTypeProxy\ExpressionDebuggerTypeProxyTests.cs" />
290    <Compile Include="Dynamic\BindingRestrictionsProxyTests.cs" />
291    <Compile Include="Dynamic\ExpandoObjectProxyTests.cs" />
292  </ItemGroup>
293  <ItemGroup>
294    <ReferenceFromRuntime Include="xunit.execution.dotnet" />
295  </ItemGroup>
296  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
297</Project>