Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: dotnet/cecil
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: b9d928a9d6
Choose a base ref
...
head repository: dotnet/cecil
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: c667bfea9c
Choose a head ref
  • 4 commits
  • 20 files changed
  • 4 contributors

Commits on Aug 5, 2024

  1. Configuration menu
    Copy the full SHA
    e48a726 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2024

  1. Configuration menu
    Copy the full SHA
    a5915a2 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. Preserve custom debug information on types (#185)

    Portable PDBs may have CustomDebugInformation on many metadata
    entities (see HasCustomDebugInformation in
    https://github.com/dotnet/runtime/blob/main/docs/design/specs/PortablePdb-Metadata.md#customdebuginformation-table-0x37).
    
    For a select few of the CustomDebugInformation kinds (for example
    state machine hoisted local scopes), cecil has dedicated types to
    represent these in the object model. For the rest, cecil just reads
    the custom debug info out of the blob heap as a `byte[]`.
    
    When writing back a module, cecil walks the metadata as represented in
    its object model, building the debug information as it goes.
    
    So to support custom debug information for a new metadata token type:
    
    - the corresponding cecil type should be made to implement
      `ICustomDebugInformationProvider`,
    
    - the backing data for these getters should be populated on-demand,
      and also by the top-down walk in the immediate module reader, and
    
    - the top-down walk of metadata for writing should visit the cecil
      object and write its debug information.
    
    This change implements the above for `TypeDefinition`. It extends the
    `ISymbolReader`/`ISymbolWriter` interfaces with a new method for
    reading/writing custom debug info for any
    `ICustomDebugInformationProvider`, and provides helpers for calling
    the symbol reader that can be used when adding custom debug
    information to other types in the future.
    
    It doesn't include support for decoding the `TypeDefinitionDocument`
    debug info - it continues representing these as
    `BinaryCustomDebugInformation`.
    
    ---------
    
    Co-authored-by: Jackson Schuster <[email protected]>
    Co-authored-by: Andy Gocke <[email protected]>
    3 people authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    ed276e7 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2024

  1. Configuration menu
    Copy the full SHA
    c667bfe View commit details
    Browse the repository at this point in the history
Loading