Files
ILSpy/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj
T
Siegfried Pammer 77d57b91dc Drop token nodes and move comments and directives to trivia
Comments and preprocessor directives were positional children interleaved
into the child list, and punctuation, keywords and operators were token-node
children. Add a leading/trailing trivia side-channel for comments and
directives, emit it from the output visitor, and re-home every comment
receiver onto it (including inside-block comments as comment-only empty
statements and undecodable attribute arguments as an ErrorExpression). With
locations and sequence points no longer sourced from token nodes, stop
reconstructing them on the locations path and delete CSharpTokenNode,
CSharpModifierToken and InsertSpecialsDecorator. The AST no longer carries
token children or positional comments; output is byte-identical.
Assisted-by: Claude:claude-opus-4-8:Claude Code
2026-06-23 07:43:42 +02:00

753 lines
44 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<!-- Carry every distribution RID in the lock file so a RID-specific `dotnet publish -r <rid>` of a
consuming app (ILSpy) restores in locked mode (RestoreLockedMode below) on any host OS, with no
per-publish restore escape hatch. Must match ILSpy.csproj's RuntimeIdentifiers. -->
<RuntimeIdentifiers>win-x64;win-arm64;linux-x64;osx-arm64</RuntimeIdentifiers>
<PackageId>ICSharpCode.Decompiler</PackageId>
<PackageVersion>8.0.0.0-noversion</PackageVersion>
<Title>ILSpy Decompiler Engine</Title>
<Authors>ILSpy Contributors</Authors>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageProjectUrl>https://github.com/icsharpcode/ILSpy/</PackageProjectUrl>
<Description>ICSharpCode.Decompiler is the decompiler engine used in ILSpy.</Description>
<PackageReadmeFile>PackageReadme.md</PackageReadmeFile>
<Company>ic#code</Company>
<Product>ILSpy</Product>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/icsharpcode/ILSpy.git</RepositoryUrl>
<PackageIcon>DecompilerNuGetPackageIcon.png</PackageIcon>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<Copyright>Copyright 2011-$([System.DateTime]::Now.Year) AlphaSierraPapa</Copyright>
<PackageTags>C# Decompiler ILSpy</PackageTags>
<GenerateSBOM>true</GenerateSBOM>
<NeutralLanguage>en-US</NeutralLanguage>
<GenerateAssemblyVersionAttribute>False</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>False</GenerateAssemblyFileVersionAttribute>
<GenerateAssemblyInformationalVersionAttribute>False</GenerateAssemblyInformationalVersionAttribute>
<EnableDefaultItems>false</EnableDefaultItems>
<LangVersion>14</LangVersion>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<SignAssembly>True</SignAssembly>
<AssemblyOriginatorKeyFile>ICSharpCode.Decompiler.snk</AssemblyOriginatorKeyFile>
<NoWarn>$(NoWarn);1701;1702;1591;1573</NoWarn>
<WarningsAsErrors>nullable</WarningsAsErrors>
<DebugType>embedded</DebugType>
<DebugSymbols>true</DebugSymbols>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<None Include="PackageReadme.md" Pack="true" PackagePath="\" />
<None Include="DecompilerNuGetPackageIcon.png" Pack="true" PackagePath="\" />
</ItemGroup>
<!-- https://devblogs.microsoft.com/nuget/enable-repeatable-package-restores-using-a-lock-file/ -->
<PropertyGroup>
<RestoreLockedMode>true</RestoreLockedMode>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<DefineConstants>$(DefineConstants);STEP</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
</PropertyGroup>
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>
<!-- Inject ILSpyUpdateAssemblyInfo as dependency of the GetPackageVersion
target so Pack uses the generated version when evaluating project references. -->
<PropertyGroup>
<GetPackageVersionDependsOn>
ILSpyUpdateAssemblyInfo;
$(GetPackageVersionDependsOn)
</GetPackageVersionDependsOn>
</PropertyGroup>
<PropertyGroup>
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Sbom.Targets" Version="4.1.5">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="System.Collections.Immutable" Version="9.0.0" />
<PackageReference Include="System.Reflection.Metadata" Version="9.0.0" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="10.0.300">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="10.0.301">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="TunnelVisionLabs.ReferenceAssemblyAnnotator" Version="1.0.0-alpha.160" PrivateAssets="all" />
<!-- Specifies the version of Microsoft.NETCore.App.Ref to obtain nullability information from. -->
<PackageDownload Include="Microsoft.NETCore.App.Ref" Version="[8.0.0]" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ICSharpCode.Decompiler.Generators\ICSharpCode.Decompiler.Generators.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
</ItemGroup>
<ItemGroup>
<Compile Include="CSharp\Annotations.cs" />
<Compile Include="CSharp\CallBuilder.cs" />
<Compile Include="CSharp\CSharpLanguageVersion.cs" />
<Compile Include="CSharp\Syntax\Expressions\RecursivePatternExpression.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\ExtensionDeclaration.cs" />
<Compile Include="DecompilationProgress.cs" />
<Compile Include="Disassembler\IEntityProcessor.cs" />
<Compile Include="Disassembler\SortByNameProcessor.cs" />
<Compile Include="Humanizer\StringHumanizeExtensions.cs" />
<Compile Include="IL\ILAmbience.cs" />
<Compile Include="IL\Transforms\InlineArrayTransform.cs" />
<Compile Include="IL\Transforms\RemoveUnconstrainedGenericReferenceTypeCheck.cs" />
<Compile Include="IL\Instructions.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Instructions.tt</DependentUpon>
</Compile>
<Compile Include="Metadata\MetadataFile.cs" />
<Compile Include="Metadata\ModuleReferenceMetadata.cs" />
<Compile Include="Metadata\PropertyAndEventBackingFieldLookup.cs" />
<Compile Include="NRTAttributes.cs" />
<Compile Include="PartialTypeInfo.cs" />
<Compile Include="CSharp\ProjectDecompiler\IProjectFileWriter.cs" />
<Compile Include="CSharp\OutputVisitor\GenericGrammarAmbiguityVisitor.cs" />
<Compile Include="CSharp\ProjectDecompiler\IProjectInfoProvider.cs" />
<Compile Include="CSharp\ProjectDecompiler\ProjectFileWriterSdkStyle.cs" />
<Compile Include="CSharp\ProjectDecompiler\ProjectFileWriterDefault.cs" />
<Compile Include="CSharp\RecordDecompiler.cs" />
<Compile Include="CSharp\RequiredNamespaceCollector.cs" />
<Compile Include="CSharp\SequencePointBuilder.cs" />
<Compile Include="CSharp\ProjectDecompiler\TargetFramework.cs" />
<Compile Include="CSharp\ProjectDecompiler\TargetServices.cs" />
<Compile Include="CSharp\Syntax\Expressions\DeclarationExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\SwitchExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\WithInitializerExpression.cs" />
<Compile Include="CSharp\Syntax\FunctionPointerAstType.cs" />
<Compile Include="CSharp\Syntax\InvocationAstType.cs" />
<Compile Include="CSharp\Syntax\VariableDesignation.cs" />
<Compile Include="Humanizer\Vocabularies.cs" />
<Compile Include="Humanizer\Vocabulary.cs" />
<Compile Include="IL\ControlFlow\RemoveRedundantReturn.cs" />
<Compile Include="IL\Transforms\DeconstructionTransform.cs" />
<Compile Include="IL\Instructions\DeconstructInstruction.cs" />
<Compile Include="IL\Instructions\DeconstructResultInstruction.cs" />
<Compile Include="IL\Instructions\MatchInstruction.cs" />
<Compile Include="IL\Transforms\IndexRangeTransform.cs" />
<Compile Include="CSharp\TranslatedStatement.cs" />
<Compile Include="DebugInfo\KnownGuids.cs" />
<Compile Include="Disassembler\DisassemblerSignatureTypeProvider.cs" />
<Compile Include="Documentation\XmlDocumentationElement.cs" />
<Compile Include="IL\ControlFlow\AwaitInFinallyTransform.cs" />
<Compile Include="IL\ControlFlow\RuntimeAsyncExceptionRewriteTransform.cs" />
<Compile Include="IL\ControlFlow\RuntimeAsyncManualAwaitTransform.cs" />
<Compile Include="IL\Transforms\InterpolatedStringTransform.cs" />
<Compile Include="IL\Transforms\IntroduceNativeIntTypeOnLocals.cs" />
<Compile Include="IL\Transforms\LdLocaDupInitObjTransform.cs" />
<Compile Include="IL\Transforms\PatternMatchingTransform.cs" />
<Compile Include="IL\Transforms\RemoveInfeasiblePathTransform.cs" />
<Compile Include="Instrumentation\DecompilerEventSource.cs" />
<Compile Include="Metadata\FindTypeDecoder.cs" />
<Compile Include="Metadata\FullTypeNameSignatureDecoder.cs" />
<Compile Include="Metadata\MetadataGenericContext.cs" />
<Compile Include="Metadata\ReferenceLoadInfo.cs" />
<Compile Include="Properties\DecompilerVersionInfo.cs" />
<Compile Include="TypeSystem\ExtensionInfo.cs" />
<Compile Include="TypeSystem\ITypeDefinitionOrUnknown.cs" />
<Compile Include="Util\BitOperations.cs" />
<Compile Include="Util\DelegateComparer.cs" />
<Compile Include="Util\Index.cs" />
<Compile Include="Metadata\WebCilFile.cs" />
<None Include="Properties\DecompilerVersionInfo.template.cs" />
<Compile Include="Semantics\OutVarResolveResult.cs" />
<Compile Include="SingleFileBundle.cs" />
<Compile Include="Solution\ProjectId.cs" />
<Compile Include="Solution\ProjectItem.cs" />
<Compile Include="Solution\SolutionCreator.cs" />
<Compile Include="CSharp\Syntax\AstNode.cs" />
<Compile Include="CSharp\Syntax\AstNodeCollection.cs" />
<Compile Include="CSharp\Syntax\AstType.cs" />
<Compile Include="CSharp\Syntax\ComposedType.cs" />
<Compile Include="CSharp\Syntax\DepthFirstAstVisitor.cs" />
<Compile Include="CSharp\Syntax\DocumentationReference.cs" />
<Compile Include="CSharp\Syntax\Expressions\AnonymousMethodExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\AnonymousTypeCreateExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\ArrayCreateExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\ArrayInitializerExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\AsExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\AssignmentExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\BaseReferenceExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\BinaryOperatorExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\CastExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\CheckedExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\ConditionalExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\DefaultValueExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\DirectionExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\ErrorExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\Expression.cs" />
<Compile Include="CSharp\Syntax\Expressions\IdentifierExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\IndexerExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\InterpolatedStringExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\InvocationExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\IsExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\LambdaExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\MemberReferenceExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\NamedArgumentExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\NamedExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\NullReferenceExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\ObjectCreateExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\OutVarDeclarationExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\ParenthesizedExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\PointerReferenceExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\PrimitiveExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\QueryExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\SizeOfExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\StackAllocExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\ThisReferenceExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\ThrowExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\TupleExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\TypeOfExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\TypeReferenceExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\UnaryOperatorExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\UncheckedExpression.cs" />
<Compile Include="CSharp\Syntax\Expressions\UndocumentedExpression.cs" />
<Compile Include="CSharp\Syntax\GeneralScope\Attribute.cs" />
<Compile Include="CSharp\Syntax\GeneralScope\AttributeSection.cs" />
<Compile Include="CSharp\Syntax\GeneralScope\Comment.cs" />
<Compile Include="CSharp\Syntax\GeneralScope\Constraint.cs" />
<Compile Include="CSharp\Syntax\GeneralScope\DelegateDeclaration.cs" />
<Compile Include="CSharp\Syntax\GeneralScope\ExternAliasDeclaration.cs" />
<Compile Include="CSharp\Syntax\GeneralScope\NamespaceDeclaration.cs" />
<Compile Include="CSharp\Syntax\GeneralScope\PreProcessorDirective.cs" />
<Compile Include="CSharp\Syntax\GeneralScope\TypeDeclaration.cs" />
<Compile Include="CSharp\Syntax\GeneralScope\Trivia.cs" />
<Compile Include="CSharp\Syntax\GeneralScope\TypeParameterDeclaration.cs" />
<Compile Include="CSharp\Syntax\GeneralScope\UsingAliasDeclaration.cs" />
<Compile Include="CSharp\Syntax\GeneralScope\UsingDeclaration.cs" />
<Compile Include="CSharp\Syntax\Identifier.cs" />
<Compile Include="CSharp\Syntax\PatternMatching\IdentifierExpressionBackreference.cs" />
<Compile Include="CSharp\Syntax\MemberType.cs" />
<Compile Include="CSharp\Syntax\Modifiers.cs" />
<Compile Include="CSharp\Syntax\NodeType.cs" />
<Compile Include="CSharp\Syntax\PatternMatching\AnyNode.cs" />
<Compile Include="CSharp\Syntax\PatternMatching\AnyNodeOrNull.cs" />
<Compile Include="CSharp\Syntax\PatternMatching\Backreference.cs" />
<Compile Include="CSharp\Syntax\PatternMatching\BacktrackingInfo.cs" />
<Compile Include="CSharp\Syntax\PatternMatching\Choice.cs" />
<Compile Include="CSharp\Syntax\PatternMatching\INode.cs" />
<Compile Include="CSharp\Syntax\PatternMatching\Match.cs" />
<Compile Include="CSharp\Syntax\PatternMatching\NamedNode.cs" />
<Compile Include="CSharp\Syntax\PatternMatching\OptionalNode.cs" />
<Compile Include="CSharp\Syntax\PatternMatching\Pattern.cs" />
<Compile Include="CSharp\Syntax\PatternMatching\Repeat.cs" />
<Compile Include="CSharp\Syntax\PrimitiveType.cs" />
<Compile Include="CSharp\Syntax\Role.cs" />
<Compile Include="CSharp\Syntax\Roles.cs" />
<Compile Include="CSharp\Syntax\SimpleType.cs" />
<Compile Include="CSharp\Syntax\Statements\BlockStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\BreakStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\CheckedStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\ContinueStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\DoWhileStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\EmptyStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\ExpressionStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\FixedStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\ForeachStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\ForStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\GotoStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\IfElseStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\LabelStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\LocalFunctionDeclarationStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\LockStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\ReturnStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\Statement.cs" />
<Compile Include="CSharp\Syntax\Statements\SwitchStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\ThrowStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\TryCatchStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\UncheckedStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\UnsafeStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\UsingStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\VariableDeclarationStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\WhileStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\YieldBreakStatement.cs" />
<Compile Include="CSharp\Syntax\Statements\YieldReturnStatement.cs" />
<Compile Include="CSharp\Syntax\SyntaxExtensions.cs" />
<Compile Include="CSharp\Syntax\SyntaxTree.cs" />
<Compile Include="CSharp\Syntax\TextLocation.cs" />
<Compile Include="CSharp\Syntax\TokenRole.cs" />
<Compile Include="CSharp\Syntax\TupleAstType.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\Accessor.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\ConstructorDeclaration.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\DestructorDeclaration.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\EntityDeclaration.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\EnumMemberDeclaration.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\EventDeclaration.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\FieldDeclaration.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\FixedFieldDeclaration.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\FixedVariableInitializer.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\IndexerDeclaration.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\MethodDeclaration.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\OperatorDeclaration.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\ParameterDeclaration.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\PropertyDeclaration.cs" />
<Compile Include="CSharp\Syntax\TypeMembers\VariableInitializer.cs" />
<Compile Include="CSharp\Syntax\TypeSystemAstBuilder.cs" />
<Compile Include="CSharp\OutputVisitor\CSharpAmbience.cs" />
<Compile Include="CSharp\OutputVisitor\CSharpFormattingOptions.cs" />
<Compile Include="CSharp\OutputVisitor\CSharpOutputVisitor.cs" />
<Compile Include="CSharp\OutputVisitor\FormattingOptionsFactory.cs" />
<Compile Include="CSharp\OutputVisitor\InsertMissingTokensDecorator.cs" />
<Compile Include="CSharp\OutputVisitor\InsertParenthesesVisitor.cs" />
<Compile Include="CSharp\OutputVisitor\InsertRequiredSpacesDecorator.cs" />
<Compile Include="CSharp\OutputVisitor\ITokenWriter.cs" />
<Compile Include="CSharp\OutputVisitor\TextWriterTokenWriter.cs" />
<Compile Include="CSharp\Resolver\AliasNamespaceResolveResult.cs" />
<Compile Include="CSharp\Resolver\AliasTypeResolveResult.cs" />
<Compile Include="CSharp\Resolver\AwaitResolveResult.cs" />
<Compile Include="CSharp\Resolver\CSharpConversions.cs" />
<Compile Include="CSharp\Resolver\CSharpInvocationResolveResult.cs" />
<Compile Include="CSharp\Resolver\CSharpOperators.cs" />
<Compile Include="CSharp\Resolver\CSharpResolver.cs" />
<Compile Include="CSharp\Resolver\DynamicInvocationResolveResult.cs" />
<Compile Include="CSharp\Resolver\DynamicMemberResolveResult.cs" />
<Compile Include="CSharp\Resolver\LambdaResolveResult.cs" />
<Compile Include="CSharp\Resolver\Log.cs" />
<Compile Include="CSharp\Resolver\MemberLookup.cs" />
<Compile Include="CSharp\Resolver\MethodGroupResolveResult.cs" />
<Compile Include="CSharp\Resolver\NameLookupMode.cs" />
<Compile Include="CSharp\Resolver\OverloadResolution.cs" />
<Compile Include="CSharp\Resolver\OverloadResolutionErrors.cs" />
<Compile Include="IL\Transforms\FixRemainingIncrements.cs" />
<Compile Include="IL\Transforms\ILExtraction.cs" />
<Compile Include="TypeSystem\FunctionPointerType.cs" />
<Compile Include="TypeSystem\Implementation\LocalFunctionMethod.cs" />
<Compile Include="CSharp\Resolver\TypeInference.cs" />
<Compile Include="CSharp\Transforms\CombineQueryExpressions.cs" />
<Compile Include="CSharp\Transforms\FlattenSwitchBlocks.cs" />
<Compile Include="CSharp\Transforms\IntroduceExtensionMethods.cs" />
<Compile Include="CSharp\Transforms\IntroduceQueryExpressions.cs" />
<Compile Include="CSharp\Transforms\NormalizeBlockStatements.cs" />
<Compile Include="CSharp\Transforms\PrettifyAssignments.cs" />
<Compile Include="CSharp\Transforms\RemoveCLSCompliantAttribute.cs" />
<Compile Include="CSharp\TranslationContext.cs" />
<Compile Include="CSharp\TypeSystem\CSharpTypeResolveContext.cs" />
<Compile Include="CSharp\TypeSystem\UsingScope.cs" />
<Compile Include="DebugInfo\AsyncDebugInfo.cs" />
<Compile Include="DebugInfo\ImportScopeInfo.cs" />
<Compile Include="DebugInfo\DebugInfoGenerator.cs" />
<Compile Include="DecompilerException.cs" />
<Compile Include="DecompilerSettings.cs" />
<Compile Include="CSharp\Transforms\ContextTrackingVisitor.cs" />
<Compile Include="CSharp\Transforms\DeclareVariables.cs" />
<Compile Include="CSharp\Transforms\EscapeInvalidIdentifiers.cs" />
<Compile Include="CSharp\Transforms\FixNameCollisions.cs" />
<Compile Include="CSharp\Transforms\IntroduceUsingDeclarations.cs" />
<Compile Include="CSharp\Transforms\PatternStatementTransform.cs" />
<Compile Include="CSharp\Transforms\TransformContext.cs" />
<Compile Include="CSharp\TranslatedExpression.cs" />
<Compile Include="CSharp\CSharpDecompiler.cs" />
<Compile Include="CSharp\ExpressionBuilder.cs" />
<Compile Include="CSharp\StatementBuilder.cs" />
<Compile Include="CSharp\Transforms\AddCheckedBlocks.cs" />
<Compile Include="CSharp\Transforms\TransformFieldAndConstructorInitializers.cs" />
<Compile Include="CSharp\Transforms\CustomPatterns.cs" />
<Compile Include="CSharp\Transforms\IAstTransform.cs" />
<Compile Include="CSharp\Transforms\IntroduceUnsafeModifier.cs" />
<Compile Include="CSharp\Transforms\ReplaceMethodCallsWithOperators.cs" />
<Compile Include="CSharp\ProjectDecompiler\WholeProjectDecompiler.cs" />
<Compile Include="CSharp\Transforms\AddXmlDocumentationTransform.cs" />
<Compile Include="DecompileRun.cs" />
<Compile Include="Disassembler\ILParser.cs" />
<Compile Include="IL\ILInstructionExtensions.cs" />
<Compile Include="IL\Transforms\CombineExitsTransform.cs" />
<Compile Include="IL\Transforms\DynamicIsEventAssignmentTransform.cs" />
<Compile Include="IL\Transforms\ReduceNestingTransform.cs" />
<Compile Include="IL\Transforms\LocalFunctionDecompiler.cs" />
<Compile Include="IL\Transforms\TransformDisplayClassUsage.cs" />
<Compile Include="IL\Transforms\UserDefinedLogicTransform.cs" />
<Compile Include="Metadata\AssemblyReferences.cs" />
<Compile Include="Metadata\ExportedTypeMetadata.cs" />
<Compile Include="Metadata\MemberReferenceMetadata.cs" />
<Compile Include="Metadata\TypeReferenceMetadata.cs" />
<Compile Include="Metadata\CodeMappingInfo.cs" />
<Compile Include="Metadata\EnumUnderlyingTypeResolveException.cs" />
<Compile Include="Metadata\MetadataTokenHelpers.cs" />
<Compile Include="Disassembler\OpCodeInfo.cs" />
<Compile Include="Documentation\GetPotentiallyNestedClassTypeReference.cs" />
<Compile Include="Documentation\IdStringMemberReference.cs" />
<Compile Include="Documentation\IdStringProvider.cs" />
<Compile Include="Documentation\XmlDocLoader.cs" />
<Compile Include="Documentation\XmlDocumentationProvider.cs" />
<Compile Include="IL\ControlFlow\AsyncAwaitDecompiler.cs" />
<Compile Include="IL\ControlFlow\AwaitInCatchTransform.cs" />
<Compile Include="IL\ControlFlow\YieldReturnDecompiler.cs" />
<Compile Include="Metadata\CustomAttributeDecoder.cs" />
<Compile Include="Metadata\Resource.cs" />
<Compile Include="Metadata\DotNetCorePathFinder.cs" />
<Compile Include="Metadata\DotNetCorePathFinderExtensions.cs" />
<Compile Include="Metadata\LightJson\JsonArray.cs" />
<Compile Include="Metadata\LightJson\JsonObject.cs" />
<Compile Include="Metadata\LightJson\JsonValue.cs" />
<Compile Include="Metadata\LightJson\JsonValueType.cs" />
<Compile Include="Metadata\LightJson\Serialization\JsonParseException.cs" />
<Compile Include="Metadata\LightJson\Serialization\JsonReader.cs" />
<Compile Include="Metadata\LightJson\Serialization\TextPosition.cs" />
<Compile Include="Metadata\LightJson\Serialization\TextScanner.cs" />
<Compile Include="Metadata\MethodSemanticsLookup.cs" />
<Compile Include="Metadata\OperandType.cs" />
<Compile Include="Metadata\PEFile.cs" />
<Compile Include="Metadata\SignatureBlobComparer.cs" />
<Compile Include="Metadata\UniversalAssemblyResolver.cs" />
<Compile Include="Metadata\UnresolvedAssemblyNameReference.cs" />
<Compile Include="IL\Instructions\DynamicInstructions.cs" />
<Compile Include="IL\PointerArithmeticOffset.cs" />
<Compile Include="IL\ILAstWritingOptions.cs" />
<Compile Include="IL\Instructions\LdFlda.cs" />
<Compile Include="IL\Instructions\NullableInstructions.cs" />
<Compile Include="IL\Instructions\StLoc.cs" />
<Compile Include="IL\Instructions\IsInst.cs" />
<Compile Include="DebugInfo\SequencePoint.cs" />
<Compile Include="IL\Instructions\CallIndirect.cs" />
<Compile Include="IL\Instructions\DefaultValue.cs" />
<Compile Include="IL\Transforms\DynamicCallSiteTransform.cs" />
<Compile Include="IL\Transforms\EarlyExpressionTransforms.cs" />
<Compile Include="IL\Instructions\ExpressionTreeCast.cs" />
<Compile Include="IL\Transforms\HighLevelLoopTransform.cs" />
<Compile Include="IL\Transforms\NamedArgumentTransform.cs" />
<Compile Include="IL\Transforms\IntroduceDynamicTypeOnLocals.cs" />
<Compile Include="IL\Transforms\IntroduceRefReadOnlyModifierOnLocals.cs" />
<Compile Include="IL\Transforms\NullPropagationTransform.cs" />
<Compile Include="IL\Transforms\ProxyCallReplacer.cs" />
<Compile Include="IL\Instructions\StringToInt.cs" />
<Compile Include="IL\Instructions\UsingInstruction.cs" />
<Compile Include="IL\Transforms\InlineReturnTransform.cs" />
<Compile Include="IL\Transforms\SwitchOnNullableTransform.cs" />
<Compile Include="IL\Transforms\SwitchOnStringTransform.cs" />
<Compile Include="IL\Transforms\TransformExpressionTrees.cs" />
<Compile Include="IL\Transforms\TupleTransform.cs" />
<Compile Include="IL\Transforms\UsingTransform.cs" />
<Compile Include="IL\ControlFlow\ControlFlowGraph.cs" />
<Compile Include="IL\ControlFlow\StateRangeAnalysis.cs" />
<Compile Include="IL\ControlFlow\SymbolicExecution.cs" />
<Compile Include="IL\Instructions\Await.cs" />
<Compile Include="IL\Instructions\ILVariableCollection.cs" />
<Compile Include="IL\Instructions\LockInstruction.cs" />
<Compile Include="IL\Instructions\NullCoalescingInstruction.cs" />
<Compile Include="IL\Instructions\LogicInstructions.cs" />
<Compile Include="IL\Patterns\AnyNode.cs" />
<Compile Include="IL\Transforms\AssignVariableNames.cs" />
<Compile Include="IL\Transforms\DetectCatchWhenConditionBlocks.cs" />
<Compile Include="IL\Transforms\LockTransform.cs" />
<Compile Include="IL\Transforms\NullableLiftingTransform.cs" />
<Compile Include="IL\Transforms\NullCoalescingTransform.cs" />
<Compile Include="IL\Transforms\StatementTransform.cs" />
<Compile Include="IL\Transforms\TransformCollectionAndObjectInitializers.cs" />
<Compile Include="Output\TextTokenWriter.cs" />
<Compile Include="DebugInfo\IDebugInfoProvider.cs" />
<Compile Include="DebugInfo\PortablePdbWriter.cs" />
<Compile Include="Semantics\InterpolatedStringResolveResult.cs" />
<Compile Include="SRMExtensions.cs" />
<Compile Include="SRMHacks.cs" />
<Compile Include="TypeSystem\ApplyAttributeTypeVisitor.cs" />
<Compile Include="TypeSystem\GenericContext.cs" />
<Compile Include="TypeSystem\Implementation\AttributeListBuilder.cs" />
<Compile Include="TypeSystem\Implementation\CustomAttribute.cs" />
<Compile Include="TypeSystem\Implementation\DecimalConstantHelper.cs" />
<Compile Include="TypeSystem\Implementation\DecoratedType.cs" />
<Compile Include="TypeSystem\Implementation\DefaultTypeParameter.cs" />
<Compile Include="TypeSystem\Implementation\FakeMember.cs" />
<Compile Include="TypeSystem\Implementation\KnownAttributes.cs" />
<Compile Include="TypeSystem\Implementation\MetadataField.cs" />
<Compile Include="TypeSystem\Implementation\MetadataMethod.cs" />
<Compile Include="TypeSystem\Implementation\MetadataNamespace.cs" />
<Compile Include="TypeSystem\Implementation\MetadataParameter.cs" />
<Compile Include="TypeSystem\Implementation\MetadataEvent.cs" />
<Compile Include="TypeSystem\Implementation\MetadataProperty.cs" />
<Compile Include="TypeSystem\Implementation\MetadataTypeDefinition.cs" />
<Compile Include="TypeSystem\Implementation\MetadataTypeParameter.cs" />
<Compile Include="TypeSystem\Implementation\SpecializedParameter.cs" />
<Compile Include="TypeSystem\Implementation\SyntheticRangeIndexer.cs" />
<Compile Include="TypeSystem\Implementation\ThreeState.cs" />
<Compile Include="TypeSystem\MetadataModule.cs" />
<Compile Include="TypeSystem\ModifiedType.cs" />
<Compile Include="TypeSystem\Implementation\PinnedType.cs" />
<Compile Include="Metadata\MetadataExtensions.cs" />
<Compile Include="Semantics\ThrowResolveResult.cs" />
<Compile Include="Semantics\TupleResolveResult.cs" />
<Compile Include="TypeSystem\NormalizeTypeVisitor.cs" />
<Compile Include="TypeSystem\Nullability.cs" />
<Compile Include="TypeSystem\Implementation\NullabilityAnnotatedType.cs" />
<Compile Include="TypeSystem\TupleType.cs" />
<Compile Include="TypeSystem\TypeProvider.cs" />
<Compile Include="Util\FileUtility.cs" />
<Compile Include="Util\KeyComparer.cs" />
<Compile Include="Util\LongDict.cs" />
<Compile Include="Util\ResourcesFile.cs" />
<Compile Include="Util\Sha1ForNonSecretPurposes.cs" />
<Compile Include="Util\ResXResourceWriter.cs" />
<Compile Include="Util\UnicodeNewline.cs" />
<Compile Include="FlowAnalysis\ControlFlowNode.cs" />
<Compile Include="FlowAnalysis\DataFlowVisitor.cs" />
<Compile Include="FlowAnalysis\DefiniteAssignmentVisitor.cs" />
<Compile Include="FlowAnalysis\Dominance.cs" />
<Compile Include="FlowAnalysis\ReachingDefinitionsVisitor.cs" />
<Compile Include="CSharp\Syntax\IAnnotatable.cs" />
<Compile Include="IL\ControlFlow\ConditionDetection.cs" />
<Compile Include="IL\ControlFlow\ControlFlowSimplification.cs" />
<Compile Include="IL\ControlFlow\DetectPinnedRegions.cs" />
<Compile Include="IL\ControlFlow\ExitPoints.cs" />
<Compile Include="IL\ControlFlow\LoopDetection.cs" />
<Compile Include="IL\ControlFlow\SwitchAnalysis.cs" />
<Compile Include="IL\ControlFlow\SwitchDetection.cs" />
<Compile Include="IL\Instructions\Comp.cs" />
<Compile Include="IL\Instructions\BinaryNumericInstruction.cs" />
<Compile Include="IL\Instructions\Block.cs" />
<Compile Include="IL\Instructions\BlockContainer.cs" />
<Compile Include="IL\Instructions\Branch.cs" />
<Compile Include="IL\Instructions\CallInstruction.cs" />
<Compile Include="IL\Instructions\CompoundAssignmentInstruction.cs" />
<Compile Include="IL\Instructions\Conv.cs" />
<Compile Include="IL\Instructions\IfInstruction.cs" />
<Compile Include="IL\Instructions\ILFunction.cs" />
<Compile Include="IL\Instructions\ILInstruction.cs" />
<Compile Include="IL\Instructions\InstructionCollection.cs" />
<Compile Include="IL\Instructions\LdLen.cs" />
<Compile Include="IL\Instructions\Leave.cs" />
<Compile Include="IL\Instructions\MemoryInstructions.cs" />
<Compile Include="IL\Instructions\PatternMatching.cs" />
<Compile Include="IL\Instructions\SimpleInstruction.cs" />
<Compile Include="IL\Instructions\SwitchInstruction.cs" />
<Compile Include="IL\Instructions\TryInstruction.cs" />
<Compile Include="IL\Instructions\UnaryInstruction.cs" />
<Compile Include="IL\Patterns\ListMatch.cs" />
<Compile Include="IL\Patterns\Match.cs" />
<Compile Include="IL\SlotInfo.cs" />
<Compile Include="IL\Transforms\BlockTransform.cs" />
<Compile Include="IL\Transforms\CachedDelegateInitialization.cs" />
<Compile Include="IL\Transforms\CopyPropagation.cs" />
<Compile Include="IL\Transforms\IILTransform.cs" />
<Compile Include="IL\Transforms\ILInlining.cs" />
<Compile Include="IL\Transforms\ExpressionTransforms.cs" />
<Compile Include="IL\Transforms\DelegateConstruction.cs" />
<Compile Include="IL\Transforms\RemoveDeadVariableInit.cs" />
<Compile Include="IL\Transforms\SplitVariables.cs" />
<Compile Include="IL\Transforms\Stepper.cs" />
<Compile Include="IL\Transforms\TransformArrayInitializers.cs" />
<Compile Include="Disassembler\DisassemblerHelpers.cs" />
<Compile Include="Disassembler\ILStructure.cs" />
<Compile Include="Disassembler\MethodBodyDisassembler.cs" />
<Compile Include="Disassembler\ReflectionDisassembler.cs" />
<Compile Include="IL\SemanticHelper.cs" />
<Compile Include="IL\BlockBuilder.cs" />
<Compile Include="Metadata\ILOpCodes.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>ILOpCodes.tt</DependentUpon>
</Compile>
<Compile Include="IL\ILReader.cs" />
<Compile Include="IL\ILTypeExtensions.cs" />
<Compile Include="IL\ILVariable.cs" />
<Compile Include="IL\InstructionFlags.cs" />
<Compile Include="IL\InstructionOutputExtensions.cs" />
<Compile Include="IL\PrimitiveType.cs" />
<Compile Include="IL\StackType.cs" />
<Compile Include="IL\Transforms\TransformAssignment.cs" />
<Compile Include="NRExtensions.cs" />
<Compile Include="Output\ITextOutput.cs" />
<Compile Include="Output\PlainTextOutput.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Output\TextOutputWriter.cs" />
<Compile Include="Semantics\AmbiguousResolveResult.cs" />
<Compile Include="Semantics\ArrayAccessResolveResult.cs" />
<Compile Include="Semantics\ArrayCreateResolveResult.cs" />
<Compile Include="Semantics\ByReferenceResolveResult.cs" />
<Compile Include="Semantics\ConstantResolveResult.cs" />
<Compile Include="Semantics\Conversion.cs" />
<Compile Include="Semantics\ConversionResolveResult.cs" />
<Compile Include="Semantics\ErrorResolveResult.cs" />
<Compile Include="Semantics\ForEachResolveResult.cs" />
<Compile Include="Semantics\InitializedObjectResolveResult.cs" />
<Compile Include="Semantics\InvocationResolveResult.cs" />
<Compile Include="Semantics\LocalResolveResult.cs" />
<Compile Include="Semantics\MemberResolveResult.cs" />
<Compile Include="Semantics\NamedArgumentResolveResult.cs" />
<Compile Include="Semantics\NamespaceResolveResult.cs" />
<Compile Include="Semantics\OperatorResolveResult.cs" />
<Compile Include="Semantics\ResolveResult.cs" />
<Compile Include="Semantics\SizeOfResolveResult.cs" />
<Compile Include="Semantics\ThisResolveResult.cs" />
<Compile Include="Semantics\TypeIsResolveResult.cs" />
<Compile Include="Semantics\TypeOfResolveResult.cs" />
<Compile Include="Semantics\TypeResolveResult.cs" />
<Compile Include="Semantics\UnknownMemberResolveResult.cs" />
<Compile Include="TypeSystem\Accessibility.cs" />
<Compile Include="TypeSystem\ArrayType.cs" />
<Compile Include="TypeSystem\AssemblyQualifiedTypeName.cs" />
<Compile Include="TypeSystem\ByReferenceType.cs" />
<Compile Include="TypeSystem\ComHelper.cs" />
<Compile Include="TypeSystem\DecompilerTypeSystem.cs" />
<Compile Include="TypeSystem\FullTypeName.cs" />
<Compile Include="Output\IAmbience.cs" />
<Compile Include="TypeSystem\IAssembly.cs" />
<Compile Include="TypeSystem\IAttribute.cs" />
<Compile Include="TypeSystem\ICodeContext.cs" />
<Compile Include="TypeSystem\ICompilation.cs" />
<Compile Include="TypeSystem\IEntity.cs" />
<Compile Include="TypeSystem\IEvent.cs" />
<Compile Include="TypeSystem\IField.cs" />
<Compile Include="TypeSystem\IFreezable.cs" />
<Compile Include="TypeSystem\IInterningProvider.cs" />
<Compile Include="TypeSystem\IMember.cs" />
<Compile Include="TypeSystem\IMethod.cs" />
<Compile Include="TypeSystem\Implementation\AbstractFreezable.cs" />
<Compile Include="TypeSystem\Implementation\AbstractTypeParameter.cs" />
<Compile Include="TypeSystem\Implementation\AbstractType.cs" />
<Compile Include="TypeSystem\Implementation\BaseTypeCollector.cs" />
<Compile Include="TypeSystem\Implementation\DefaultAssemblyReference.cs" />
<Compile Include="TypeSystem\Implementation\DefaultAttribute.cs" />
<Compile Include="TypeSystem\Implementation\DefaultParameter.cs" />
<Compile Include="TypeSystem\Implementation\DefaultVariable.cs" />
<Compile Include="TypeSystem\Implementation\DummyTypeParameter.cs" />
<Compile Include="TypeSystem\Implementation\GetMembersHelper.cs" />
<Compile Include="TypeSystem\Implementation\KnownTypeCache.cs" />
<Compile Include="TypeSystem\Implementation\MergedNamespace.cs" />
<Compile Include="TypeSystem\Implementation\MinimalCorlib.cs" />
<Compile Include="TypeSystem\Implementation\NestedTypeReference.cs" />
<Compile Include="TypeSystem\Implementation\SimpleCompilation.cs" />
<Compile Include="TypeSystem\Implementation\SpecializedEvent.cs" />
<Compile Include="TypeSystem\Implementation\SpecializedField.cs" />
<Compile Include="TypeSystem\Implementation\SpecializedMember.cs" />
<Compile Include="TypeSystem\Implementation\SpecializedMethod.cs" />
<Compile Include="TypeSystem\Implementation\SpecializedProperty.cs" />
<Compile Include="TypeSystem\Implementation\TypeParameterReference.cs" />
<Compile Include="TypeSystem\Implementation\TypeWithElementType.cs" />
<Compile Include="TypeSystem\Implementation\UnknownType.cs" />
<Compile Include="TypeSystem\INamedElement.cs" />
<Compile Include="TypeSystem\INamespace.cs" />
<Compile Include="TypeSystem\InheritanceHelper.cs" />
<Compile Include="TypeSystem\IntersectionType.cs" />
<Compile Include="TypeSystem\IParameter.cs" />
<Compile Include="TypeSystem\IParameterizedMember.cs" />
<Compile Include="TypeSystem\IProperty.cs" />
<Compile Include="TypeSystem\ISupportsInterning.cs" />
<Compile Include="TypeSystem\ISymbol.cs" />
<Compile Include="TypeSystem\IType.cs" />
<Compile Include="TypeSystem\ITypeDefinition.cs" />
<Compile Include="TypeSystem\ITypeParameter.cs" />
<Compile Include="TypeSystem\ITypeReference.cs" />
<Compile Include="TypeSystem\IVariable.cs" />
<Compile Include="TypeSystem\KnownTypeReference.cs" />
<Compile Include="TypeSystem\NullableType.cs" />
<Compile Include="TypeSystem\ParameterizedType.cs" />
<Compile Include="TypeSystem\ParameterListComparer.cs" />
<Compile Include="TypeSystem\PointerType.cs" />
<Compile Include="TypeSystem\ReflectionHelper.cs" />
<Compile Include="TypeSystem\ReflectionNameParseException.cs" />
<Compile Include="TypeSystem\SimpleTypeResolveContext.cs" />
<Compile Include="TypeSystem\SpecialType.cs" />
<Compile Include="TypeSystem\TaskType.cs" />
<Compile Include="TypeSystem\TopLevelTypeName.cs" />
<Compile Include="TypeSystem\TypeKind.cs" />
<Compile Include="TypeSystem\TypeParameterSubstitution.cs" />
<Compile Include="TypeSystem\TypeSystemExtensions.cs" />
<Compile Include="TypeSystem\TypeUtils.cs" />
<Compile Include="TypeSystem\IDecompilerTypeSystem.cs" />
<Compile Include="TypeSystem\ReferenceResolvingException.cs" />
<Compile Include="TypeSystem\TypeVisitor.cs" />
<Compile Include="TypeSystem\VarArgInstanceMethod.cs" />
<Compile Include="Util\BusyManager.cs" />
<Compile Include="Util\CacheManager.cs" />
<Compile Include="Util\CallbackOnDispose.cs" />
<Compile Include="Util\CollectionExtensions.cs" />
<Compile Include="Util\BitSet.cs" />
<Compile Include="Util\CSharpPrimitiveCast.cs" />
<Compile Include="Util\EmptyList.cs" />
<Compile Include="Util\ExtensionMethods.cs" />
<Compile Include="Util\GraphTraversal.cs" />
<Compile Include="Util\Interval.cs" />
<Compile Include="Util\LazyInit.cs" />
<Compile Include="Util\LongSet.cs" />
<Compile Include="Util\MultiDictionary.cs" />
<Compile Include="Util\Platform.cs" />
<Compile Include="Util\ProjectedList.cs" />
<Compile Include="Util\ReferenceComparer.cs" />
<Compile Include="Util\TreeTraversal.cs" />
<Compile Include="Util\UnionFind.cs" />
<Compile Include="Util\Win32Resources.cs" />
<None Include="ICSharpCode.Decompiler.snk" />
<None Include="Metadata\ILOpCodes.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>ILOpCodes.cs</LastGenOutput>
</None>
<None Include="IL\Instructions.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>Instructions.cs</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<None Include="..\doc\Pattern Matching.html">
<Link>CSharp\Syntax\PatternMatching\Pattern Matching.html</Link>
</None>
<None Include="Humanizer\LICENSE" />
</ItemGroup>
<ItemGroup>
<Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
</ItemGroup>
<ItemGroup>
<UpdateAssemblyInfoStamp Include="obj\update-assemblyinfo-last-commit-hash.txt" />
</ItemGroup>
<Target Name="ILSpyUpdateAssemblyInfo" BeforeTargets="BeforeBuild">
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT' ">
<UpdateAssemblyInfo>powershell -NoProfile -ExecutionPolicy Bypass -File BuildTools/update-assemblyinfo.ps1 $(Configuration)</UpdateAssemblyInfo>
<GitRevParse>git rev-parse HEAD^^{commit}</GitRevParse>
</PropertyGroup>
<PropertyGroup Condition=" '$(OS)' != 'Windows_NT' ">
<UpdateAssemblyInfo>pwsh -NoProfile -ExecutionPolicy Bypass -File BuildTools/update-assemblyinfo.ps1 $(Configuration)</UpdateAssemblyInfo>
<GitRevParse>git rev-parse HEAD^{commit}</GitRevParse>
</PropertyGroup>
<ReadLinesFromFile ContinueOnError="true" File="@(UpdateAssemblyInfoStamp)">
<Output TaskParameter="Lines" PropertyName="LastCommitHash" />
</ReadLinesFromFile>
<Exec ContinueOnError="true" WorkingDirectory=".." Command="$(GitRevParse)" ConsoleToMSBuild="true">
<Output TaskParameter="ConsoleOutput" PropertyName="CommitHash" />
</Exec>
<Exec WorkingDirectory=".." Command="$(UpdateAssemblyInfo)" Timeout="60000" Condition="'$(CommitHash)'!='$(LastCommitHash)'" LogStandardErrorAsError="true" ContinueOnError="false" />
<WriteLinesToFile Lines="$(CommitHash)" File="@(UpdateAssemblyInfoStamp)" Overwrite="true" Condition="'$(CommitHash)'!='$(LastCommitHash)'" />
<ReadLinesFromFile ContinueOnError="true" File="..\VERSION">
<Output TaskParameter="Lines" PropertyName="PackageVersion" />
<Output TaskParameter="Lines" PropertyName="SbomGenerationPackageVersion" />
</ReadLinesFromFile>
</Target>
<Target Name="CleanUpdateAssemblyInfo" BeforeTargets="BeforeClean">
<Delete Files="@(UpdateAssemblyInfoStamp);..\VERSION" />
</Target>
</Project>