Package org.ek9lang.cli.coverage


package org.ek9lang.cli.coverage
HTML coverage report generation components using functional interfaces.

This package provides focused, single-responsibility classes for generating HTML coverage reports, following patterns from compiler phases 1-6.

Design Philosophy

Each component implements a functional interface (Function, BiFunction, Supplier) enabling:

  • Single responsibility - one class, one job
  • Easy testing - each component can be unit tested in isolation
  • Composition - components can be combined via constructor injection
  • Immutability - no shared mutable state

Available Components

Section Generators (return HTML strings)

Data Collection

Model Records

See org.ek9lang.cli.coverage.model for data transfer records.

Future Work

These components are ready to be wired into the existing CoverageOutputFormatter.HtmlCoverageFormatter to replace its inline methods, further reducing the class size from ~1,800 lines.

See Also: