dotnet / dotnet/runtime

Consolidate type pretty-printing in cDAC

Open
#131,349 1 comment 0 reactions 0 assignees View on GitHub
area-Diagnostics-cdac
Dominant language
C#
Stars
18.3k
Forks
5.6k
PR merge metrics
PR metrics pending

Description

There are two ways to pretty-print a type in the runtime - TypeHandle::GetName, and TypeString::AppendType. They differ in several ways, with the latter being a richer representation of the type. For example, the latter displays more information about the function pointer and nested classes, whereas the former does not and just displays "FNPTR" and the innermost type respectively. Ideally, in the cDAC we would use the richer representation in all circumstances if we are not doing debug validation on the legacy DAC and can confirm that this does not break any consumers.

Contributor guide

Open the contributing guide

Research direction

Start by inspecting the cDAC uses of TypeHandle::GetName and TypeString::AppendType, then compare their representations and identify callers that depend on the legacy output. Confirm the richer representation is used when legacy DAC debug validation is disabled, and verify that existing consumers continue to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
devtools
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.