Class CoverageDisplayName

java.lang.Object
org.ek9lang.compiler.phase7.generator.CoverageDisplayName

public final class CoverageDisplayName extends Object
Resolves the user-facing display name for a function/method symbol used in coverage and quality reports.

Three cases are handled:

  • Synthetic methods (_main, _call, i_init, c_init, etc.) — show the enclosing scope name. This makes a program's _main render as the program name, a dynamic function's _call render 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.

Used by every IR generator that registers function entries with CoverageProbePlacer: OperationDfnGenerator, AggregateDfnGenerator, ServiceDfnGenerator, TextDfnGenerator.

  • Method Details

    • forSymbol

      public static String forSymbol(ISymbol operationSymbol)
      Resolve the display name for a function/method symbol.
      Parameters:
      operationSymbol - the symbol whose display name is needed; must not be null
      Returns:
      user-facing display name suitable for HTML coverage reports