Consolidate type pretty-printing in 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
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