BrowserDebugProxy: unify debug metadata reading for PE and Webcil (#81099)
authorAleksey Kliger (λgeek) <alklig@microsoft.com>
Thu, 26 Jan 2023 02:33:00 +0000 (21:33 -0500)
committerGitHub <noreply@github.com>
Thu, 26 Jan 2023 02:33:00 +0000 (21:33 -0500)
commitd92e70f05b8de72758f3a990844e53c76b44d713
tree8de7f78502b523eba92f393fd8ca64d7dfbac97d
parent4a156cce1744a24cc517fdbb27bfe3451e3f0f0f
BrowserDebugProxy: unify debug metadata reading for PE and Webcil (#81099)

* DebugStore: factor common PE and Webcil reading logic

* Move common logic to a MetadataDebugSummary class

Also switch from cascade of 'if's to a 'switch' when looking at debug entries

* Implement PDB checksum reader for WebcilReader

* Move WebcilReader reflection to a helper; add lazy initialization

Co-authored-by: Ankit Jain <radical@gmail.com>
src/libraries/Microsoft.NET.WebAssembly.Webcil/src/Webcil/WebcilReader.Reflection.cs [new file with mode: 0644]
src/libraries/Microsoft.NET.WebAssembly.Webcil/src/Webcil/WebcilReader.cs
src/mono/wasm/debugger/BrowserDebugProxy/DebugStore.cs
src/mono/wasm/debugger/BrowserDebugProxy/IDebugMetadataProvider.cs [new file with mode: 0644]
src/mono/wasm/debugger/BrowserDebugProxy/MetadataDebugSummary.cs [new file with mode: 0644]
src/mono/wasm/debugger/BrowserDebugProxy/PortableExecutableDebugMetadataProvider.cs [new file with mode: 0644]
src/mono/wasm/debugger/BrowserDebugProxy/WebcilDebugMetadataProvider.cs [new file with mode: 0644]