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

Index Page Generators

Module Page Generators

File Summary Page Generators

Source View Generators

Text Formatters

Data Collection

Model Records

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

Integration

All components are wired into CoverageOutputFormatter.HtmlCoverageFormatter via one-liner delegate methods, keeping the formatter as a thin orchestrator.

See Also: