├── src
├── Microsoft.DiaSymReader.PortablePdb.Tests
│ ├── Resources
│ │ ├── EmbeddedSourceNoCode.cs
│ │ ├── MiscEmbedded.cmd
│ │ ├── EmbeddedSourceNoSequencePoints.cs
│ │ ├── Async.dll
│ │ ├── Async.dllx
│ │ ├── Async.pdb
│ │ ├── Async.pdbx
│ │ ├── Scopes.dll
│ │ ├── Scopes.dllx
│ │ ├── Scopes.pdb
│ │ ├── Scopes.pdbx
│ │ ├── SourceLink.json
│ │ ├── Documents.dll
│ │ ├── Documents.pdb
│ │ ├── EmbeddedSourceSmall.cs
│ │ ├── Documents.dllx
│ │ ├── Documents.pdbx
│ │ ├── MiscEmbedded.dll
│ │ ├── SourceData.pdb
│ │ ├── SourceLink.dll
│ │ ├── SourceLink.dllx
│ │ ├── SourceLink.pdb
│ │ ├── SourceLink.pdbx
│ │ ├── EmbeddedSource.dll
│ │ ├── EmbeddedSource.pdb
│ │ ├── EmbeddedSource.dllx
│ │ ├── EmbeddedSource.pdbx
│ │ ├── EncDocuments
│ │ │ ├── App.dll
│ │ │ ├── App.dllx
│ │ │ ├── App.pdb
│ │ │ ├── App.pdbx
│ │ │ ├── Delta.pdb
│ │ │ └── Delta.pdbx
│ │ ├── MethodBoundaries.dll
│ │ ├── MethodBoundaries.dllx
│ │ ├── MethodBoundaries.pdb
│ │ ├── MethodBoundaries.pdbx
│ │ ├── SourceLink.Embedded.dll
│ │ ├── EncMethodExtents
│ │ │ ├── EncMethodExtents.dll
│ │ │ ├── EncMethodExtents.dllx
│ │ │ ├── EncMethodExtents.pdb
│ │ │ ├── EncMethodExtents.pdbx
│ │ │ ├── EncMethodExtents.1.pdb
│ │ │ ├── EncMethodExtents.1.pdbx
│ │ │ ├── EncMethodExtents.2.pdb
│ │ │ ├── EncMethodExtents.2.pdbx
│ │ │ ├── EncMethodExtents.1.metadata
│ │ │ ├── EncMethodExtents.1.metadatax
│ │ │ ├── EncMethodExtents.2.metadata
│ │ │ └── EncMethodExtents.2.metadatax
│ │ ├── Scopes.cmd
│ │ ├── Async.cmd
│ │ ├── MethodBoundaries.cmd
│ │ ├── Documents.cmd
│ │ ├── EmbeddedSource.cs
│ │ ├── SourceLink.cmd
│ │ ├── Async.cs
│ │ ├── EmbeddedSource.cmd
│ │ ├── MiscEmbedded.cs
│ │ └── Documents.cs
│ └── TestHelpers
│ │ ├── TestResource.cs
│ │ ├── PdbTestData.cs
│ │ ├── EnumerableHelpersTests.cs
│ │ ├── ResourceLoader.cs
│ │ └── ConditionalFactAttribute.cs
├── Directory.Build.targets
├── Microsoft.DiaSymReader.PortablePdb
│ ├── InvalidInputDataException.cs
│ ├── Utilities
│ │ ├── EmptyArray.cs
│ │ ├── KeyValuePair.cs
│ │ ├── HashHelpers.cs
│ │ ├── Debug.cs
│ │ ├── TupleElementNamesAttribute.cs
│ │ ├── HResult.cs
│ │ ├── ExceptionUtilities.cs
│ │ ├── Nullable.cs
│ │ ├── ValueTuple.cs
│ │ ├── LazyMetadataImport.cs
│ │ ├── FileNameUtilities.cs
│ │ ├── EnumerableHelpers.cs
│ │ ├── InteropUtilities.cs
│ │ ├── ImmutableArrayExtensions.cs
│ │ ├── ReadOnlyInteropStream.cs
│ │ ├── MetadataUtilities.cs
│ │ └── StreamExtensions.cs
│ ├── DocumentId.cs
│ ├── Microsoft.DiaSymReader.PortablePdb.csproj
│ ├── ScopeData.cs
│ ├── AsyncMethodData.cs
│ ├── MethodLineDeltas.cs
│ ├── MethodId.cs
│ ├── MethodExtent.cs
│ └── RootScopeData.cs
├── Directory.Build.props
└── Microsoft.DiaSymReader.PortablePdb.NativeTests
│ ├── Microsoft.DiaSymReader.PortablePdb.Native.UnitTests.vcxproj.filters
│ └── SymReaderTests.cpp
├── eng
├── common
│ ├── BuildConfiguration
│ │ └── build-configuration.json
│ ├── dotnet-install.cmd
│ ├── build.cmd
│ ├── sdl
│ │ ├── packages.config
│ │ ├── NuGet.config
│ │ ├── sdl.ps1
│ │ ├── run-sdl.ps1
│ │ ├── trim-assets-version.ps1
│ │ ├── extract-artifact-archives.ps1
│ │ ├── init-sdl.ps1
│ │ └── extract-artifact-packages.ps1
│ ├── CIBuild.cmd
│ ├── init-tools-native.cmd
│ ├── templates
│ │ ├── jobs
│ │ │ ├── jobs.yml
│ │ │ ├── source-build.yml
│ │ │ └── codeql-build.yml
│ │ ├── job
│ │ │ ├── onelocbuild.yml
│ │ │ ├── source-build.yml
│ │ │ ├── publish-build-assets.yml
│ │ │ └── source-index-stage1.yml
│ │ ├── steps
│ │ │ ├── publish-logs.yml
│ │ │ ├── retain-build.yml
│ │ │ ├── source-build.yml
│ │ │ ├── generate-sbom.yml
│ │ │ ├── send-to-helix.yml
│ │ │ ├── component-governance.yml
│ │ │ ├── get-delegation-sas.yml
│ │ │ ├── enable-internal-sources.yml
│ │ │ ├── get-federated-access-token.yml
│ │ │ ├── source-index-stage1-publish.yml
│ │ │ ├── enable-internal-runtimes.yml
│ │ │ ├── publish-build-artifacts.yml
│ │ │ └── publish-pipeline-artifacts.yml
│ │ ├── post-build
│ │ │ ├── post-build.yml
│ │ │ ├── common-variables.yml
│ │ │ └── setup-maestro-vars.yml
│ │ ├── vmr-build-pr.yml
│ │ └── variables
│ │ │ └── pool-providers.yml
│ ├── templates-official
│ │ ├── jobs
│ │ │ ├── jobs.yml
│ │ │ ├── source-build.yml
│ │ │ └── codeql-build.yml
│ │ ├── job
│ │ │ ├── onelocbuild.yml
│ │ │ ├── source-build.yml
│ │ │ ├── publish-build-assets.yml
│ │ │ └── source-index-stage1.yml
│ │ ├── steps
│ │ │ ├── generate-sbom.yml
│ │ │ ├── publish-logs.yml
│ │ │ ├── retain-build.yml
│ │ │ ├── send-to-helix.yml
│ │ │ ├── source-build.yml
│ │ │ ├── get-delegation-sas.yml
│ │ │ ├── component-governance.yml
│ │ │ ├── enable-internal-sources.yml
│ │ │ ├── get-federated-access-token.yml
│ │ │ ├── source-index-stage1-publish.yml
│ │ │ ├── enable-internal-runtimes.yml
│ │ │ ├── publish-pipeline-artifacts.yml
│ │ │ └── publish-build-artifacts.yml
│ │ ├── post-build
│ │ │ ├── post-build.yml
│ │ │ ├── common-variables.yml
│ │ │ └── setup-maestro-vars.yml
│ │ └── variables
│ │ │ ├── sdl-variables.yml
│ │ │ └── pool-providers.yml
│ ├── dotnet.cmd
│ ├── core-templates
│ │ ├── variables
│ │ │ └── pool-providers.yml
│ │ ├── steps
│ │ │ ├── publish-pipeline-artifacts.yml
│ │ │ ├── component-governance.yml
│ │ │ ├── publish-build-artifacts.yml
│ │ │ ├── cleanup-microbuild.yml
│ │ │ ├── install-microbuild-impl.yml
│ │ │ ├── enable-internal-runtimes.yml
│ │ │ ├── retain-build.yml
│ │ │ ├── get-federated-access-token.yml
│ │ │ ├── get-delegation-sas.yml
│ │ │ ├── source-index-stage1-publish.yml
│ │ │ ├── enable-internal-sources.yml
│ │ │ ├── generate-sbom.yml
│ │ │ └── publish-logs.yml
│ │ ├── post-build
│ │ │ ├── common-variables.yml
│ │ │ └── setup-maestro-vars.yml
│ │ ├── jobs
│ │ │ ├── codeql-build.yml
│ │ │ └── source-build.yml
│ │ └── job
│ │ │ └── source-index-stage1.yml
│ ├── dotnet.ps1
│ ├── internal
│ │ ├── NuGet.config
│ │ ├── Directory.Build.props
│ │ └── Tools.csproj
│ ├── cross
│ │ ├── x86
│ │ │ └── tizen
│ │ │ │ └── tizen.patch
│ │ ├── armel
│ │ │ └── tizen
│ │ │ │ └── tizen.patch
│ │ ├── arm
│ │ │ └── tizen
│ │ │ │ └── tizen.patch
│ │ ├── x64
│ │ │ └── tizen
│ │ │ │ └── tizen.patch
│ │ ├── arm64
│ │ │ └── tizen
│ │ │ │ └── tizen.patch
│ │ ├── riscv64
│ │ │ └── tizen
│ │ │ │ └── tizen.patch
│ │ └── tizen-build-rootfs.sh
│ ├── PSScriptAnalyzerSettings.psd1
│ ├── cibuild.sh
│ ├── enable-cross-org-publishing.ps1
│ ├── msbuild.ps1
│ ├── post-build
│ │ ├── nuget-validation.ps1
│ │ ├── check-channel-consistency.ps1
│ │ └── publish-using-darc.ps1
│ ├── dotnet-install.ps1
│ ├── dotnet.sh
│ ├── helixpublish.proj
│ ├── generate-sbom-prep.ps1
│ ├── msbuild.sh
│ ├── README.md
│ ├── retain-build.ps1
│ ├── generate-sbom-prep.sh
│ ├── loc
│ │ └── P22DotNetHtmlLocalization.lss
│ ├── darc-init.ps1
│ ├── native
│ │ ├── init-os-and-arch.sh
│ │ └── install-dependencies.sh
│ ├── dotnet-install.sh
│ └── darc-init.sh
├── Signing.props
├── Publishing.props
├── Version.Details.xml
├── tsaconfig.gdntsa
└── Versions.props
├── Test.cmd
├── Restore.cmd
├── Build.cmd
├── global.json
├── .azuredevops
└── dependabot.yml
├── es-metadata.yml
├── CODE-OF-CONDUCT.md
├── test.sh
├── restore.sh
├── .gitignore
├── NuGet.config
├── License.txt
├── README.md
├── .gitattributes
├── THIRD-PARTY-NOTICES
└── SymReaderPortable.sln
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EmbeddedSourceNoCode.cs:
--------------------------------------------------------------------------------
1 | // file with no code
2 |
--------------------------------------------------------------------------------
/eng/common/BuildConfiguration/build-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "RetryCountLimit": 1,
3 | "RetryByAnyError": false
4 | }
5 |
--------------------------------------------------------------------------------
/eng/common/dotnet-install.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0dotnet-install.ps1""" %*"
--------------------------------------------------------------------------------
/Test.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\common\Build.ps1""" -test %*"
3 | exit /b %ErrorLevel%
--------------------------------------------------------------------------------
/eng/common/build.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0build.ps1""" %*"
3 | exit /b %ErrorLevel%
4 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/MiscEmbedded.cmd:
--------------------------------------------------------------------------------
1 | csc /target:library /debug:embedded /optimize- /deterministic MiscEmbedded.cs
--------------------------------------------------------------------------------
/eng/Signing.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | true
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EmbeddedSourceNoSequencePoints.cs:
--------------------------------------------------------------------------------
1 | // file with no sequence points
2 |
3 | interface I { }
4 |
--------------------------------------------------------------------------------
/Restore.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\common\Build.ps1""" -restore %*"
3 | exit /b %ErrorLevel%
4 |
--------------------------------------------------------------------------------
/Build.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\common\Build.ps1""" -restore -build %*"
3 | exit /b %ErrorLevel%
4 |
--------------------------------------------------------------------------------
/eng/common/sdl/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/eng/common/CIBuild.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0Build.ps1""" -restore -build -test -sign -pack -publish -ci %*"
3 |
--------------------------------------------------------------------------------
/eng/common/init-tools-native.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -NoProfile -NoLogo -ExecutionPolicy ByPass -command "& """%~dp0init-tools-native.ps1""" %*"
3 | exit /b %ErrorLevel%
--------------------------------------------------------------------------------
/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "tools": {
3 | "dotnet": "10.0.100-rc.2.25502.107"
4 | },
5 | "msbuild-sdks": {
6 | "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25571.8"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Async.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Async.dll
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Async.dllx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Async.dllx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Async.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Async.pdb
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Async.pdbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Async.pdbx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Scopes.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Scopes.dll
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Scopes.dllx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Scopes.dllx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Scopes.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Scopes.pdb
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Scopes.pdbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Scopes.pdbx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceLink.json:
--------------------------------------------------------------------------------
1 | {
2 | "documents":
3 | {
4 | "C:\\a*": "http://server1/*",
5 | "C:\\A*": "http://server2/*",
6 | }
7 | }
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Documents.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Documents.dll
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Documents.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Documents.pdb
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EmbeddedSourceSmall.cs:
--------------------------------------------------------------------------------
1 | // should be less than compression threshold (200 chars)
2 | public class Small
3 | {
4 | public Small() {}
5 | }
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Documents.dllx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Documents.dllx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Documents.pdbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Documents.pdbx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/MiscEmbedded.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/MiscEmbedded.dll
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceData.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceData.pdb
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceLink.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceLink.dll
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceLink.dllx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceLink.dllx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceLink.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceLink.pdb
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceLink.pdbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceLink.pdbx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EmbeddedSource.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EmbeddedSource.dll
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EmbeddedSource.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EmbeddedSource.pdb
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EmbeddedSource.dllx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EmbeddedSource.dllx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EmbeddedSource.pdbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EmbeddedSource.pdbx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncDocuments/App.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncDocuments/App.dll
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncDocuments/App.dllx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncDocuments/App.dllx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncDocuments/App.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncDocuments/App.pdb
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncDocuments/App.pdbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncDocuments/App.pdbx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/MethodBoundaries.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/MethodBoundaries.dll
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/MethodBoundaries.dllx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/MethodBoundaries.dllx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/MethodBoundaries.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/MethodBoundaries.pdb
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/MethodBoundaries.pdbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/MethodBoundaries.pdbx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncDocuments/Delta.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncDocuments/Delta.pdb
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncDocuments/Delta.pdbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncDocuments/Delta.pdbx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceLink.Embedded.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceLink.Embedded.dll
--------------------------------------------------------------------------------
/.azuredevops/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 |
3 | # Disabling dependabot on Azure DevOps as this is a mirrored repo. Updates should go through github.
4 | enable-campaigned-updates: false
5 | enable-security-updates: false
6 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.dll
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.dllx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.dllx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.pdb
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.pdbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.pdbx
--------------------------------------------------------------------------------
/eng/common/templates/jobs/jobs.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/jobs/jobs.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.1.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.1.pdb
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.1.pdbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.1.pdbx
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.2.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.2.pdb
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.2.pdbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.2.pdbx
--------------------------------------------------------------------------------
/es-metadata.yml:
--------------------------------------------------------------------------------
1 | schemaVersion: 0.0.1
2 | isProduction: true
3 | accountableOwners:
4 | service: c8aedd2a-1f14-4660-83e2-c74a9417c3cc
5 | routing:
6 | defaultAreaPath:
7 | org: devdiv
8 | path: DevDiv\NET Developer Experience\CSharp and VB IDE
9 |
--------------------------------------------------------------------------------
/eng/common/templates-official/jobs/jobs.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/jobs/jobs.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.1.metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.1.metadata
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.1.metadatax:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.1.metadatax
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.2.metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.2.metadata
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.2.metadatax:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/symreader-portable/HEAD/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EncMethodExtents/EncMethodExtents.2.metadatax
--------------------------------------------------------------------------------
/eng/common/templates/job/onelocbuild.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/onelocbuild.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/job/source-build.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/source-build.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/jobs/source-build.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/jobs/source-build.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates-official/job/onelocbuild.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/onelocbuild.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/jobs/source-build.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/jobs/source-build.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates/jobs/codeql-build.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/jobs/codeql-build.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/publish-logs.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/publish-logs.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/retain-build.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/retain-build.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/source-build.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/source-build.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/dotnet.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: This script is used to install the .NET SDK.
4 | :: It will also invoke the SDK with any provided arguments.
5 |
6 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0dotnet.ps1""" %*"
7 | exit /b %ErrorLevel%
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/job/source-build.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/source-build.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/jobs/codeql-build.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/jobs/codeql-build.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/generate-sbom.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/generate-sbom.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/send-to-helix.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/send-to-helix.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/generate-sbom.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/generate-sbom.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/publish-logs.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/publish-logs.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/retain-build.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/retain-build.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/send-to-helix.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/send-to-helix.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/source-build.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/source-build.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/job/publish-build-assets.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/publish-build-assets.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/job/source-index-stage1.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/source-index-stage1.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Scopes.cmd:
--------------------------------------------------------------------------------
1 | csc /target:library /debug:portable /optimize- /deterministic Scopes.cs
2 | copy /y Scopes.pdb Scopes.pdbx
3 | copy /y Scopes.dll Scopes.dllx
4 |
5 | csc /target:library /debug+ /optimize- /deterministic Scopes.cs
--------------------------------------------------------------------------------
/eng/common/templates/steps/component-governance.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/component-governance.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/get-delegation-sas.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/get-delegation-sas.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Async.cmd:
--------------------------------------------------------------------------------
1 | csc /target:library /debug:portable /optimize- /deterministic Async.cs
2 | copy /y Async.pdb Async.pdbx
3 | copy /y Async.dll Async.dllx
4 |
5 | csc /target:library /debug+ /optimize- /deterministic Async.cs
6 |
7 |
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/job/publish-build-assets.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/publish-build-assets.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/job/source-index-stage1.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/source-index-stage1.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/get-delegation-sas.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/get-delegation-sas.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/enable-internal-sources.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/enable-internal-sources.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/component-governance.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/component-governance.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/enable-internal-sources.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/enable-internal-sources.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates/steps/get-federated-access-token.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/get-federated-access-token.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/CODE-OF-CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Code of Conduct
2 |
3 | This project has adopted the code of conduct defined by the Contributor Covenant
4 | to clarify expected behavior in our community.
5 |
6 | For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct).
7 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/get-federated-access-token.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/get-federated-access-token.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates/steps/source-index-stage1-publish.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/source-index-stage1-publish.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/source-index-stage1-publish.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/source-index-stage1-publish.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/post-build/post-build.yml:
--------------------------------------------------------------------------------
1 | stages:
2 | - template: /eng/common/core-templates/post-build/post-build.yml
3 | parameters:
4 | # Specifies whether to use 1ES
5 | is1ESPipeline: false
6 |
7 | ${{ each parameter in parameters }}:
8 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates-official/post-build/post-build.yml:
--------------------------------------------------------------------------------
1 | stages:
2 | - template: /eng/common/core-templates/post-build/post-build.yml
3 | parameters:
4 | # Specifies whether to use 1ES
5 | is1ESPipeline: true
6 |
7 | ${{ each parameter in parameters }}:
8 | ${{ parameter.key }}: ${{ parameter.value }}
9 |
--------------------------------------------------------------------------------
/eng/common/templates/post-build/common-variables.yml:
--------------------------------------------------------------------------------
1 | variables:
2 | - template: /eng/common/core-templates/post-build/common-variables.yml
3 | parameters:
4 | # Specifies whether to use 1ES
5 | is1ESPipeline: false
6 |
7 | ${{ each parameter in parameters }}:
8 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates/post-build/setup-maestro-vars.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
3 | parameters:
4 | # Specifies whether to use 1ES
5 | is1ESPipeline: false
6 |
7 | ${{ each parameter in parameters }}:
8 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates-official/post-build/common-variables.yml:
--------------------------------------------------------------------------------
1 | variables:
2 | - template: /eng/common/core-templates/post-build/common-variables.yml
3 | parameters:
4 | # Specifies whether to use 1ES
5 | is1ESPipeline: true
6 |
7 | ${{ each parameter in parameters }}:
8 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates-official/post-build/setup-maestro-vars.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
3 | parameters:
4 | # Specifies whether to use 1ES
5 | is1ESPipeline: true
6 |
7 | ${{ each parameter in parameters }}:
8 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/core-templates/variables/pool-providers.yml:
--------------------------------------------------------------------------------
1 | parameters:
2 | is1ESPipeline: false
3 |
4 | variables:
5 | - ${{ if eq(parameters.is1ESPipeline, 'true') }}:
6 | - template: /eng/common/templates-official/variables/pool-providers.yml
7 | - ${{ else }}:
8 | - template: /eng/common/templates/variables/pool-providers.yml
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/MethodBoundaries.cmd:
--------------------------------------------------------------------------------
1 | csc /target:library /debug:portable /optimize- /deterministic MethodBoundaries.cs
2 | copy /y MethodBoundaries.pdb MethodBoundaries.pdbx
3 | copy /y MethodBoundaries.dll MethodBoundaries.dllx
4 |
5 | csc /target:library /debug+ /optimize- /deterministic MethodBoundaries.cs
6 |
7 |
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/variables/sdl-variables.yml:
--------------------------------------------------------------------------------
1 | variables:
2 | # The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in
3 | # sync with the packages.config file.
4 | - name: DefaultGuardianVersion
5 | value: 0.109.0
6 | - name: GuardianPackagesConfigFile
7 | value: $(System.DefaultWorkingDirectory)\eng\common\sdl\packages.config
--------------------------------------------------------------------------------
/src/Directory.Build.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/eng/common/dotnet.ps1:
--------------------------------------------------------------------------------
1 | # This script is used to install the .NET SDK.
2 | # It will also invoke the SDK with any provided arguments.
3 |
4 | . $PSScriptRoot\tools.ps1
5 | $dotnetRoot = InitializeDotNetCli -install:$true
6 |
7 | # Invoke acquired SDK with args if they are provided
8 | if ($args.count -gt 0) {
9 | $env:DOTNET_NOLOGO=1
10 | & "$dotnetRoot\dotnet.exe" $args
11 | }
12 |
--------------------------------------------------------------------------------
/eng/Publishing.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 3
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Documents.cmd:
--------------------------------------------------------------------------------
1 | csc /target:library /debug:portable /optimize- /deterministic /pathmap:%~dp0=/ /checksumalgorithm:sha256 Documents.cs
2 | copy /y Documents.pdb Documents.pdbx
3 | copy /y Documents.dll Documents.dllx
4 |
5 | csc /target:library /debug+ /optimize- /deterministic /pathmap:%~dp0=/ /checksumalgorithm:sha256 Documents.cs
6 |
7 |
8 |
--------------------------------------------------------------------------------
/eng/common/internal/NuGet.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/eng/Version.Details.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | https://github.com/dotnet/arcade
8 | a8b9e73f56e84dcb4c7ed0f23f79b308b4f83a01
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb/InvalidInputDataException.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | // See the License.txt file in the project root for more information.
4 |
5 | using System;
6 |
7 | namespace Microsoft.DiaSymReader.PortablePdb
8 | {
9 | internal class InvalidInputDataException : Exception
10 | {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb/Utilities/EmptyArray.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | // See the License.txt file in the project root for more information.
4 |
5 | namespace Microsoft.DiaSymReader.PortablePdb
6 | {
7 | internal static class EmptyArray
8 | {
9 | public static readonly T[] Instance = new T[0];
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/enable-internal-runtimes.yml:
--------------------------------------------------------------------------------
1 | # Obtains internal runtime download credentials and populates the 'dotnetbuilds-internal-container-read-token-base64'
2 | # variable with the base64-encoded SAS token, by default
3 | steps:
4 | - template: /eng/common/core-templates/steps/enable-internal-runtimes.yml
5 | parameters:
6 | is1ESPipeline: true
7 |
8 | ${{ each parameter in parameters }}:
9 | ${{ parameter.key }}: ${{ parameter.value }}
10 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/enable-internal-runtimes.yml:
--------------------------------------------------------------------------------
1 | # Obtains internal runtime download credentials and populates the 'dotnetbuilds-internal-container-read-token-base64'
2 | # variable with the base64-encoded SAS token, by default
3 |
4 | steps:
5 | - template: /eng/common/core-templates/steps/enable-internal-runtimes.yml
6 | parameters:
7 | is1ESPipeline: false
8 |
9 | ${{ each parameter in parameters }}:
10 | ${{ parameter.key }}: ${{ parameter.value }}
11 |
--------------------------------------------------------------------------------
/eng/common/internal/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | false
6 | false
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/eng/tsaconfig.gdntsa:
--------------------------------------------------------------------------------
1 | {
2 | "codebaseName": "Symreader-Portable-GitHub",
3 | "notificationAliases": [
4 | "mlinfraswat@microsoft.com"
5 | ],
6 | "codebaseAdmins": [
7 | "REDMOND\\tomat",
8 | "REDMOND\\phillipa"
9 | ],
10 | "instanceUrl": "https://devdiv.visualstudio.com",
11 | "projectName": "DevDiv",
12 | "areaPath": "DevDiv\\NET Developer Experience\\Debugger and Interactive",
13 | "iterationPath": "DevDiv",
14 | "allTools": true
15 | }
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EmbeddedSource.cs:
--------------------------------------------------------------------------------
1 | // should be higher than compression threshold (200 chars)
2 |
3 | using System;
4 |
5 | namespace Test
6 | {
7 | public static class SomeCode
8 | {
9 | public static int SomeMethod(int value)
10 | {
11 | if (value < 0)
12 | {
13 | throw new ArgumentOutOfRangeException(nameof(value));
14 | }
15 |
16 | return checked(value + 42);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/SourceLink.cmd:
--------------------------------------------------------------------------------
1 | csc /target:library /debug:portable /optimize- /deterministic /out:SourceLink.dll /sourcelink:SourceLink.json Documents.cs
2 | csc /target:library /debug:embedded /optimize- /deterministic /out:SourceLink.Embedded.dll /sourcelink:SourceLink.json Documents.cs
3 |
4 | copy /y SourceLink.dll SourceLink.dllx
5 | copy /y SourceLink.pdb SourceLink.pdbx
6 |
7 | csc.exe /target:library /debug:full /optimize- /deterministic /out:SourceLink.dll /sourcelink:SourceLink.json Documents.cs
--------------------------------------------------------------------------------
/eng/common/cross/x86/tizen/tizen.patch:
--------------------------------------------------------------------------------
1 | diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so
2 | --- a/usr/lib/libc.so 2016-12-30 23:00:08.284951863 +0900
3 | +++ b/usr/lib/libc.so 2016-12-30 23:00:32.140951815 +0900
4 | @@ -2,4 +2,4 @@
5 | Use the shared library, but some functions are only in
6 | the static library, so try that secondarily. */
7 | OUTPUT_FORMAT(elf32-i386)
8 | -GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.2 ) )
9 | +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux.so.2 ) )
10 |
--------------------------------------------------------------------------------
/eng/common/cross/armel/tizen/tizen.patch:
--------------------------------------------------------------------------------
1 | diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so
2 | --- a/usr/lib/libc.so 2016-12-30 23:00:08.284951863 +0900
3 | +++ b/usr/lib/libc.so 2016-12-30 23:00:32.140951815 +0900
4 | @@ -2,4 +2,4 @@
5 | Use the shared library, but some functions are only in
6 | the static library, so try that secondarily. */
7 | OUTPUT_FORMAT(elf32-littlearm)
8 | -GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.3 ) )
9 | +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux.so.3 ) )
10 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/Async.cs:
--------------------------------------------------------------------------------
1 | #line 1 "C:\Async.cs"
2 | #pragma checksum "C:\Async.cs" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "DBEB2A067B2F0E0D678A002C587A2806056C3DCE"
3 |
4 | using System.Threading.Tasks;
5 |
6 | public class C
7 | {
8 | public async Task M1()
9 | {
10 | await Task.FromResult(0);
11 | await Task.FromResult(1);
12 | await Task.FromResult(2);
13 |
14 | return 1;
15 | }
16 |
17 | public async void M2()
18 | {
19 | await Task.FromResult(0);
20 | }
21 | }
--------------------------------------------------------------------------------
/eng/common/PSScriptAnalyzerSettings.psd1:
--------------------------------------------------------------------------------
1 | @{
2 | IncludeRules=@('PSAvoidUsingCmdletAliases',
3 | 'PSAvoidUsingWMICmdlet',
4 | 'PSAvoidUsingPositionalParameters',
5 | 'PSAvoidUsingInvokeExpression',
6 | 'PSUseDeclaredVarsMoreThanAssignments',
7 | 'PSUseCmdletCorrectly',
8 | 'PSStandardDSCFunctionsInResource',
9 | 'PSUseIdenticalMandatoryParametersForDSC',
10 | 'PSUseIdenticalParametersForDSC')
11 | }
--------------------------------------------------------------------------------
/eng/common/cross/arm/tizen/tizen.patch:
--------------------------------------------------------------------------------
1 | diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so
2 | --- a/usr/lib/libc.so 2016-12-30 23:00:08.284951863 +0900
3 | +++ b/usr/lib/libc.so 2016-12-30 23:00:32.140951815 +0900
4 | @@ -2,4 +2,4 @@
5 | Use the shared library, but some functions are only in
6 | the static library, so try that secondarily. */
7 | OUTPUT_FORMAT(elf32-littlearm)
8 | -GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-armhf.so.3 ) )
9 | +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-armhf.so.3 ) )
10 |
--------------------------------------------------------------------------------
/eng/common/cross/x64/tizen/tizen.patch:
--------------------------------------------------------------------------------
1 | diff -u -r a/usr/lib64/libc.so b/usr/lib64/libc.so
2 | --- a/usr/lib64/libc.so 2016-12-30 23:00:08.284951863 +0900
3 | +++ b/usr/lib64/libc.so 2016-12-30 23:00:32.140951815 +0900
4 | @@ -2,4 +2,4 @@
5 | Use the shared library, but some functions are only in
6 | the static library, so try that secondarily. */
7 | OUTPUT_FORMAT(elf64-x86-64)
8 | -GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) )
9 | +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-x86-64.so.2 ) )
10 |
--------------------------------------------------------------------------------
/test.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | source="${BASH_SOURCE[0]}"
4 |
5 | # resolve $SOURCE until the file is no longer a symlink
6 | while [[ -h $source ]]; do
7 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
8 | source="$(readlink "$source")"
9 |
10 | # if $source was a relative symlink, we need to resolve it relative to the path where the
11 | # symlink file was located
12 | [[ $source != /* ]] && source="$scriptroot/$source"
13 | done
14 |
15 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
16 | "$scriptroot/eng/common/build.sh" --test $@
--------------------------------------------------------------------------------
/eng/common/cross/arm64/tizen/tizen.patch:
--------------------------------------------------------------------------------
1 | diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so
2 | --- a/usr/lib64/libc.so 2016-12-30 23:00:08.284951863 +0900
3 | +++ b/usr/lib64/libc.so 2016-12-30 23:00:32.140951815 +0900
4 | @@ -2,4 +2,4 @@
5 | Use the shared library, but some functions are only in
6 | the static library, so try that secondarily. */
7 | OUTPUT_FORMAT(elf64-littleaarch64)
8 | -GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-aarch64.so.1 ) )
9 | +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-aarch64.so.1 ) )
10 |
--------------------------------------------------------------------------------
/restore.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | source="${BASH_SOURCE[0]}"
4 |
5 | # resolve $SOURCE until the file is no longer a symlink
6 | while [[ -h $source ]]; do
7 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
8 | source="$(readlink "$source")"
9 |
10 | # if $source was a relative symlink, we need to resolve it relative to the path where the
11 | # symlink file was located
12 | [[ $source != /* ]] && source="$scriptroot/$source"
13 | done
14 |
15 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
16 | "$scriptroot/eng/common/build.sh" --restore $@
--------------------------------------------------------------------------------
/eng/common/cross/riscv64/tizen/tizen.patch:
--------------------------------------------------------------------------------
1 | diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so
2 | --- a/usr/lib64/libc.so 2016-12-30 23:00:08.284951863 +0900
3 | +++ b/usr/lib64/libc.so 2016-12-30 23:00:32.140951815 +0900
4 | @@ -2,4 +2,4 @@
5 | Use the shared library, but some functions are only in
6 | the static library, so try that secondarily. */
7 | OUTPUT_FORMAT(elf64-littleriscv)
8 | -GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-riscv64-lp64d.so.1 ) )
9 | +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-riscv64-lp64d.so.1 ) )
10 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/EmbeddedSource.cmd:
--------------------------------------------------------------------------------
1 | csc /target:library /debug:portable /optimize- /deterministic /out:EmbeddedSource.dll /pathmap:%~dp0=C:\ /embed EmbeddedSource.cs EmbeddedSourceNoCode.cs EmbeddedSourceSmall.cs EmbeddedSourceNoSequencePoints.cs
2 | copy /y EmbeddedSource.pdb EmbeddedSource.pdbx
3 | copy /y EmbeddedSource.dll EmbeddedSource.dllx
4 |
5 | csc /target:library /debug+ /optimize- /deterministic /out:EmbeddedSource.dll /pathmap:%~dp0=C:\ /embed EmbeddedSource.cs EmbeddedSourceNoCode.cs EmbeddedSourceSmall.cs EmbeddedSourceNoSequencePoints.cs
6 |
7 |
--------------------------------------------------------------------------------
/eng/common/cibuild.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | source="${BASH_SOURCE[0]}"
4 |
5 | # resolve $SOURCE until the file is no longer a symlink
6 | while [[ -h $source ]]; do
7 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
8 | source="$(readlink "$source")"
9 |
10 | # if $source was a relative symlink, we need to resolve it relative to the path where
11 | # the symlink file was located
12 | [[ $source != /* ]] && source="$scriptroot/$source"
13 | done
14 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
15 |
16 | . "$scriptroot/build.sh" --restore --build --test --pack --publish --ci $@
17 |
--------------------------------------------------------------------------------
/eng/common/sdl/NuGet.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/eng/common/enable-cross-org-publishing.ps1:
--------------------------------------------------------------------------------
1 | param(
2 | [string] $token
3 | )
4 |
5 |
6 | . $PSScriptRoot\pipeline-logging-functions.ps1
7 |
8 | # Write-PipelineSetVariable will no-op if a variable named $ci is not defined
9 | # Since this script is only ever called in AzDO builds, just universally set it
10 | $ci = $true
11 |
12 | Write-PipelineSetVariable -Name 'VSS_NUGET_ACCESSTOKEN' -Value $token -IsMultiJobVariable $false
13 | Write-PipelineSetVariable -Name 'VSS_NUGET_URI_PREFIXES' -Value 'https://dnceng.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/dnceng/;https://devdiv.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/devdiv/' -IsMultiJobVariable $false
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | .vs/
8 | .vscode/
9 |
10 | # Build results
11 | artifacts/
12 | Debug/
13 | Release/
14 | bin/
15 | obj/
16 | .dotnet/
17 | .tools/
18 | .packages/
19 |
20 | # Per-user project properties
21 | launchSettings.json
22 |
23 | # Visual Studio profiler
24 | *.psess
25 | *.vsp
26 | *.vspx
27 |
28 | # ReSharper is a .NET coding add-in
29 | _ReSharper*/
30 | *.[Rr]e[Ss]harper
31 |
32 | # DotCover is a Code Coverage Tool
33 | *.dotCover
34 |
35 | # NCrunch
36 | *.ncrunch*
37 | .*crunch*.local.xml
38 |
--------------------------------------------------------------------------------
/eng/common/core-templates/steps/publish-pipeline-artifacts.yml:
--------------------------------------------------------------------------------
1 | parameters:
2 | - name: is1ESPipeline
3 | type: boolean
4 | default: false
5 |
6 | - name: args
7 | type: object
8 | default: {}
9 |
10 | steps:
11 | - ${{ if ne(parameters.is1ESPipeline, true) }}:
12 | - template: /eng/common/templates/steps/publish-pipeline-artifacts.yml
13 | parameters:
14 | ${{ each parameter in parameters }}:
15 | ${{ parameter.key }}: ${{ parameter.value }}
16 | - ${{ else }}:
17 | - template: /eng/common/templates-official/steps/publish-pipeline-artifacts.yml
18 | parameters:
19 | ${{ each parameter in parameters }}:
20 | ${{ parameter.key }}: ${{ parameter.value }}
21 |
--------------------------------------------------------------------------------
/eng/common/msbuild.ps1:
--------------------------------------------------------------------------------
1 | [CmdletBinding(PositionalBinding=$false)]
2 | Param(
3 | [string] $verbosity = 'minimal',
4 | [bool] $warnAsError = $true,
5 | [bool] $nodeReuse = $true,
6 | [switch] $ci,
7 | [switch] $prepareMachine,
8 | [switch] $excludePrereleaseVS,
9 | [string] $msbuildEngine = $null,
10 | [Parameter(ValueFromRemainingArguments=$true)][String[]]$extraArgs
11 | )
12 |
13 | . $PSScriptRoot\tools.ps1
14 |
15 | try {
16 | if ($ci) {
17 | $nodeReuse = $false
18 | }
19 |
20 | MSBuild @extraArgs
21 | }
22 | catch {
23 | Write-Host $_.ScriptStackTrace
24 | Write-PipelineTelemetryError -Category 'Build' -Message $_
25 | ExitWithExitCode 1
26 | }
27 |
28 | ExitWithExitCode 0
--------------------------------------------------------------------------------
/NuGet.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/TestHelpers/TestResource.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | // See the License.txt file in the project root for more information.
4 | namespace Microsoft.DiaSymReader.PortablePdb.UnitTests
5 | {
6 | public struct TestResource
7 | {
8 | public readonly byte[] PE;
9 | public readonly byte[] Pdb;
10 |
11 | public TestResource(byte[] pe, byte[] pdb)
12 | {
13 | PE = pe;
14 | Pdb = pdb;
15 | }
16 |
17 | public override string ToString()
18 | {
19 | return "TR";
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/eng/common/core-templates/post-build/common-variables.yml:
--------------------------------------------------------------------------------
1 | variables:
2 | - group: Publish-Build-Assets
3 |
4 | # Whether the build is internal or not
5 | - name: IsInternalBuild
6 | value: ${{ and(ne(variables['System.TeamProject'], 'public'), contains(variables['Build.SourceBranch'], 'internal')) }}
7 |
8 | # Default Maestro++ API Endpoint and API Version
9 | - name: MaestroApiEndPoint
10 | value: "https://maestro.dot.net"
11 | - name: MaestroApiVersion
12 | value: "2020-02-20"
13 |
14 | - name: SourceLinkCLIVersion
15 | value: 3.0.0
16 | - name: SymbolToolVersion
17 | value: 1.0.1
18 | - name: BinlogToolVersion
19 | value: 1.0.11
20 |
21 | - name: runCodesignValidationInjection
22 | value: false
23 |
--------------------------------------------------------------------------------
/eng/common/core-templates/steps/component-governance.yml:
--------------------------------------------------------------------------------
1 | parameters:
2 | disableComponentGovernance: false
3 | componentGovernanceIgnoreDirectories: ''
4 | is1ESPipeline: false
5 | displayName: 'Component Detection'
6 |
7 | steps:
8 | - ${{ if eq(parameters.disableComponentGovernance, 'true') }}:
9 | - script: echo "##vso[task.setvariable variable=skipComponentGovernanceDetection]true"
10 | displayName: Set skipComponentGovernanceDetection variable
11 | - ${{ if ne(parameters.disableComponentGovernance, 'true') }}:
12 | - task: ComponentGovernanceComponentDetection@0
13 | continueOnError: true
14 | displayName: ${{ parameters.displayName }}
15 | inputs:
16 | ignoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }}
17 |
--------------------------------------------------------------------------------
/eng/common/core-templates/steps/publish-build-artifacts.yml:
--------------------------------------------------------------------------------
1 | parameters:
2 | - name: is1ESPipeline
3 | type: boolean
4 | default: false
5 | - name: args
6 | type: object
7 | default: {}
8 | steps:
9 | - ${{ if ne(parameters.is1ESPipeline, true) }}:
10 | - template: /eng/common/templates/steps/publish-build-artifacts.yml
11 | parameters:
12 | is1ESPipeline: ${{ parameters.is1ESPipeline }}
13 | ${{ each parameter in parameters.args }}:
14 | ${{ parameter.key }}: ${{ parameter.value }}
15 | - ${{ else }}:
16 | - template: /eng/common/templates-official/steps/publish-build-artifacts.yml
17 | parameters:
18 | is1ESPipeline: ${{ parameters.is1ESPipeline }}
19 | ${{ each parameter in parameters.args }}:
20 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/src/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Preview
8 | MIT
9 | false
10 |
11 |
12 | true
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb/Utilities/KeyValuePair.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | // See the License.txt file in the project root for more information.
4 |
5 | using System.Collections.Generic;
6 |
7 | namespace Microsoft.DiaSymReader.PortablePdb
8 | {
9 | internal static class KeyValuePair
10 | {
11 | public static KeyValuePair Create(K key, V value)
12 | {
13 | return new KeyValuePair(key, value);
14 | }
15 |
16 | public static void Deconstruct(this KeyValuePair pair, out K key, out V value)
17 | {
18 | key = pair.Key;
19 | value = pair.Value;
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb/Utilities/HashHelpers.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | // See the License.txt file in the project root for more information.
4 |
5 | namespace System.Numerics.Hashing
6 | {
7 | internal static class HashHelpers
8 | {
9 | public static readonly int RandomSeed = new Random().Next(Int32.MinValue, Int32.MaxValue);
10 |
11 | public static int Combine(int h1, int h2)
12 | {
13 | // RyuJIT optimizes this to use the ROL instruction
14 | // Related GitHub pull request: dotnet/coreclr#1830
15 | uint rol5 = ((uint)h1 << 5) | ((uint)h1 >> 27);
16 | return ((int)rol5 + h1) ^ h2;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/eng/common/post-build/nuget-validation.ps1:
--------------------------------------------------------------------------------
1 | # This script validates NuGet package metadata information using this
2 | # tool: https://github.com/NuGet/NuGetGallery/tree/jver-verify/src/VerifyMicrosoftPackage
3 |
4 | param(
5 | [Parameter(Mandatory=$true)][string] $PackagesPath # Path to where the packages to be validated are
6 | )
7 |
8 | # `tools.ps1` checks $ci to perform some actions. Since the post-build
9 | # scripts don't necessarily execute in the same agent that run the
10 | # build.ps1/sh script this variable isn't automatically set.
11 | $ci = $true
12 | $disableConfigureToolsetImport = $true
13 | . $PSScriptRoot\..\tools.ps1
14 |
15 | try {
16 | & $PSScriptRoot\nuget-verification.ps1 ${PackagesPath}\*.nupkg
17 | }
18 | catch {
19 | Write-Host $_.ScriptStackTrace
20 | Write-PipelineTelemetryError -Category 'NuGetValidation' -Message $_
21 | ExitWithExitCode 1
22 | }
23 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb/Utilities/Debug.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | // See the LICENSE file in the project root for more information.
4 |
5 | using System.Diagnostics;
6 | using System.Diagnostics.CodeAnalysis;
7 |
8 | namespace Microsoft.DiaSymReader.PortablePdb
9 | {
10 | internal static class Debug
11 | {
12 | [Conditional("DEBUG")]
13 | public static void Assert([DoesNotReturnIf(false)] bool b)
14 | => System.Diagnostics.Debug.Assert(b);
15 |
16 | ///
17 | [Conditional("DEBUG")]
18 | public static void Assert([DoesNotReturnIf(false)] bool b, string message)
19 | => System.Diagnostics.Debug.Assert(b, message);
20 | }
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb/Utilities/TupleElementNamesAttribute.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | // See the License.txt file in the project root for more information.
4 |
5 | using System.Collections.Generic;
6 |
7 | namespace System.Runtime.CompilerServices
8 | {
9 | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Event)]
10 | internal sealed class TupleElementNamesAttribute : Attribute
11 | {
12 | public IList TransformNames { get; }
13 |
14 | public TupleElementNamesAttribute(string[] transformNames)
15 | {
16 | TransformNames = transformNames;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/eng/common/dotnet-install.ps1:
--------------------------------------------------------------------------------
1 | [CmdletBinding(PositionalBinding=$false)]
2 | Param(
3 | [string] $verbosity = 'minimal',
4 | [string] $architecture = '',
5 | [string] $version = 'Latest',
6 | [string] $runtime = 'dotnet',
7 | [string] $RuntimeSourceFeed = '',
8 | [string] $RuntimeSourceFeedKey = ''
9 | )
10 |
11 | . $PSScriptRoot\tools.ps1
12 |
13 | $dotnetRoot = Join-Path $RepoRoot '.dotnet'
14 |
15 | $installdir = $dotnetRoot
16 | try {
17 | if ($architecture -and $architecture.Trim() -eq 'x86') {
18 | $installdir = Join-Path $installdir 'x86'
19 | }
20 | InstallDotNet $installdir $version $architecture $runtime $true -RuntimeSourceFeed $RuntimeSourceFeed -RuntimeSourceFeedKey $RuntimeSourceFeedKey
21 | }
22 | catch {
23 | Write-Host $_.ScriptStackTrace
24 | Write-PipelineTelemetryError -Category 'InitializeToolset' -Message $_
25 | ExitWithExitCode 1
26 | }
27 |
28 | ExitWithExitCode 0
29 |
--------------------------------------------------------------------------------
/eng/common/dotnet.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # This script is used to install the .NET SDK.
4 | # It will also invoke the SDK with any provided arguments.
5 |
6 | source="${BASH_SOURCE[0]}"
7 | # resolve $SOURCE until the file is no longer a symlink
8 | while [[ -h $source ]]; do
9 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
10 | source="$(readlink "$source")"
11 |
12 | # if $source was a relative symlink, we need to resolve it relative to the path where the
13 | # symlink file was located
14 | [[ $source != /* ]] && source="$scriptroot/$source"
15 | done
16 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
17 |
18 | source $scriptroot/tools.sh
19 | InitializeDotNetCli true # install
20 |
21 | # Invoke acquired SDK with args if they are provided
22 | if [[ $# -gt 0 ]]; then
23 | __dotnetDir=${_InitializeDotNetCli}
24 | dotnetPath=${__dotnetDir}/dotnet
25 | ${dotnetPath} "$@"
26 | fi
27 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb/Utilities/HResult.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | // See the License.txt file in the project root for more information.
4 |
5 | namespace Microsoft.DiaSymReader.PortablePdb
6 | {
7 | internal static class HResult
8 | {
9 | internal const int S_OK = 0;
10 | internal const int S_FALSE = 1;
11 | internal const int E_NOTIMPL = unchecked((int)0x80004001);
12 | internal const int E_FAIL = unchecked((int)0x80004005);
13 | internal const int E_INVALIDARG = unchecked((int)0x80070057);
14 | internal const int E_WIN32_NOT_ENOUGH_MEMORY = unchecked((int)0x80070008);
15 | internal const int E_OUTOFMEMORY = unchecked((int)0x8007000E);
16 | internal const int E_UNEXPECTED = unchecked((int)0x8000FFFF);
17 |
18 | internal const int E_PDB_NOT_FOUND = unchecked((int)0x806D0005);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/eng/common/helixpublish.proj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | msbuild
6 |
7 |
8 |
9 |
10 | %(Identity)
11 |
12 |
13 |
14 |
15 |
16 | $(WorkItemDirectory)
17 | $(WorkItemCommand)
18 | $(WorkItemTimeout)
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/eng/common/core-templates/steps/cleanup-microbuild.yml:
--------------------------------------------------------------------------------
1 | parameters:
2 | # Enable cleanup tasks for MicroBuild
3 | enableMicrobuild: false
4 | # Enable cleanup tasks for MicroBuild on Mac and Linux
5 | # Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT'
6 | enableMicrobuildForMacAndLinux: false
7 | continueOnError: false
8 |
9 | steps:
10 | - ${{ if eq(parameters.enableMicrobuild, 'true') }}:
11 | - task: MicroBuildCleanup@1
12 | displayName: Execute Microbuild cleanup tasks
13 | condition: and(
14 | always(),
15 | or(
16 | and(
17 | eq(variables['Agent.Os'], 'Windows_NT'),
18 | in(variables['_SignType'], 'real', 'test')
19 | ),
20 | and(
21 | ${{ eq(parameters.enableMicrobuildForMacAndLinux, true) }},
22 | ne(variables['Agent.Os'], 'Windows_NT'),
23 | eq(variables['_SignType'], 'real')
24 | )
25 | ))
26 | continueOnError: ${{ parameters.continueOnError }}
27 | env:
28 | TeamName: $(_TeamName)
29 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/Resources/MiscEmbedded.cs:
--------------------------------------------------------------------------------
1 | #line 1 "C:\MiscEmbedded.cs"
2 | #pragma checksum "C:\MiscEmbedded.cs" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "DBEB2A067B2F0E0D678A002C587A2806056C3DCE"
3 |
4 | using System;
5 | using System.IO;
6 | using static System.Math; // unused
7 |
8 | namespace N
9 | {
10 | using System.Threading.Tasks;
11 | using IEB = System.Collections.Generic.IEnumerable;
12 | using TS = System.Threading.Tasks.Task; // unused
13 |
14 | class C
15 | {
16 | public static void Main()
17 | {
18 | Console.WriteLine("hello world");
19 | }
20 |
21 | public static async Task A()
22 | {
23 | await Task.Delay(1);
24 | return 2;
25 | }
26 |
27 | public static IEB I()
28 | {
29 | yield return 1;
30 | yield return 2;
31 | yield return 3;
32 | }
33 |
34 | public static void Locals()
35 | {
36 | {
37 | const dynamic x = null;
38 | }
39 |
40 | {
41 | const C x = null;
42 | }
43 |
44 | {
45 | object x = null;
46 | }
47 | }
48 | }
49 | }
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb/Utilities/ExceptionUtilities.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | // See the License.txt file in the project root for more information.
4 |
5 | using System;
6 | using System.Diagnostics;
7 |
8 | namespace Roslyn.Utilities
9 | {
10 | internal static class ExceptionUtilities
11 | {
12 | internal static Exception UnexpectedValue(object o)
13 | {
14 | string output = string.Format("Unexpected value '{0}' of type '{1}'", o, (o != null) ? o.GetType().FullName : "");
15 | Debug.Assert(false, output);
16 |
17 | // We do not throw from here because we don't want all Watson reports to be bucketed to this call.
18 | return new InvalidOperationException(output);
19 | }
20 |
21 | internal static Exception Unreachable
22 | {
23 | get { return new InvalidOperationException("This program location is thought to be unreachable."); }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/eng/common/core-templates/steps/install-microbuild-impl.yml:
--------------------------------------------------------------------------------
1 | parameters:
2 | - name: microbuildTaskInputs
3 | type: object
4 | default: {}
5 |
6 | - name: microbuildEnv
7 | type: object
8 | default: {}
9 |
10 | - name: enablePreviewMicrobuild
11 | type: boolean
12 | default: false
13 |
14 | - name: condition
15 | type: string
16 |
17 | - name: continueOnError
18 | type: boolean
19 |
20 | steps:
21 | - ${{ if eq(parameters.enablePreviewMicrobuild, 'true') }}:
22 | - task: MicroBuildSigningPluginPreview@4
23 | displayName: Install Preview MicroBuild plugin
24 | inputs: ${{ parameters.microbuildTaskInputs }}
25 | env: ${{ parameters.microbuildEnv }}
26 | continueOnError: ${{ parameters.continueOnError }}
27 | condition: ${{ parameters.condition }}
28 | - ${{ else }}:
29 | - task: MicroBuildSigningPlugin@4
30 | displayName: Install MicroBuild plugin
31 | inputs: ${{ parameters.microbuildTaskInputs }}
32 | env: ${{ parameters.microbuildEnv }}
33 | continueOnError: ${{ parameters.continueOnError }}
34 | condition: ${{ parameters.condition }}
35 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/publish-pipeline-artifacts.yml:
--------------------------------------------------------------------------------
1 | parameters:
2 | - name: is1ESPipeline
3 | type: boolean
4 | default: true
5 |
6 | - name: args
7 | type: object
8 | default: {}
9 |
10 | steps:
11 | - ${{ if ne(parameters.is1ESPipeline, true) }}:
12 | - 'eng/common/templates-official cannot be referenced from a non-1ES managed template': error
13 | - task: 1ES.PublishPipelineArtifact@1
14 | displayName: ${{ coalesce(parameters.args.displayName, 'Publish to Build Artifact') }}
15 | ${{ if parameters.args.condition }}:
16 | condition: ${{ parameters.args.condition }}
17 | ${{ else }}:
18 | condition: succeeded()
19 | ${{ if parameters.args.continueOnError }}:
20 | continueOnError: ${{ parameters.args.continueOnError }}
21 | inputs:
22 | targetPath: ${{ parameters.args.targetPath }}
23 | ${{ if parameters.args.artifactName }}:
24 | artifactName: ${{ parameters.args.artifactName }}
25 | ${{ if parameters.args.properties }}:
26 | properties: ${{ parameters.args.properties }}
27 | ${{ if parameters.args.sbomEnabled }}:
28 | sbomEnabled: ${{ parameters.args.sbomEnabled }}
29 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb/DocumentId.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | // See the License.txt file in the project root for more information.
4 |
5 | using System;
6 | using System.Diagnostics;
7 |
8 | namespace Microsoft.DiaSymReader.PortablePdb
9 | {
10 | ///
11 | /// Unique ID representing a document across all generations.
12 | ///
13 | [DebuggerDisplay("{GetDebuggerDisplay(),nq}")]
14 | internal readonly struct DocumentId : IEquatable
15 | {
16 | // 1-based
17 | public readonly int Value;
18 |
19 | public DocumentId(int id)
20 | {
21 | Value = id;
22 | }
23 |
24 | public bool IsDefault => Value == 0;
25 |
26 | public bool Equals(DocumentId other) => Value == other.Value;
27 | public override int GetHashCode() => Value.GetHashCode();
28 | public override bool Equals(object? obj) => obj is DocumentId id && Equals(id);
29 |
30 | private object GetDebuggerDisplay() => Value;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Microsoft.DiaSymReader.PortablePdb.Tests/TestHelpers/PdbTestData.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | // See the License.txt file in the project root for more information.
4 |
5 | using System.Collections;
6 | using System.Collections.Generic;
7 | using System.IO;
8 |
9 | namespace Microsoft.DiaSymReader.PortablePdb.UnitTests
10 | {
11 | public class PdbTestData : IEnumerable