Class CoverageDisplayName
Four cases are handled:
- An application's two generated members -
DemoApp (prepare)builds the registered components andDemoApp (close)closes them (Steve, 2026-10-28). Both would otherwise render asDemoApp, two identical rows. The words are "prepare" and "close"; the compiler's_prepare/_decommissionare never shown. A program stays bare: its_mainIS the program.Join key:
_preparekeeps the bare application name as itsCoverageIdentity: it runs the application's body, which phase 5 measured under that name, so anything gathered per construct (complexity, input variety, lock payloads) is genuinely_prepare's._decommissionhas no source of its own, so it takes the(close)form as its identity too: a bare key would let it join onto the same per-construct data and double-count it. - Synthetic methods (
_main,_call,_i_init,_c_init, etc.) — show the enclosing scope name. This makes a program's_mainrender as the program name, a dynamic function's_callrender as the dynamic function's name, and so on. - Regular methods/operators on an aggregate (class, trait,
component, record, service) — prefix the method name with the aggregate
name. Renders as
Newt.move,ASimpleClass.aCheck,Walker.?. This distinguishes methods from module-level free functions in coverage report listings. - Module-level free functions — show the bare function name with no prefix.
THE display name - hold an instance. Its siblings are CoverageIdentity (the join key) and
CoverageSourceQualifiedName (the coverage/profiling identity); all three resolve through
CoverageNameResolution. Used by every IR generator that registers function entries with
CoverageProbePlacer - all of them through FunctionProbes.enter(CoverageProbePlacer, ISymbol, DebugInfo), THE registration.
-
Constructor Details
-
CoverageDisplayName
public CoverageDisplayName()
-
-
Method Details