Class CoverageFinalizeAsmGenerator

java.lang.Object
org.ek9lang.compiler.backend.jvm.AbstractAsmGenerator
org.ek9lang.compiler.backend.jvm.CoverageFinalizeAsmGenerator
All Implemented Interfaces:
Consumer<CoverageFinalizeInstr>, org.objectweb.asm.Opcodes

final class CoverageFinalizeAsmGenerator extends AbstractAsmGenerator implements Consumer<CoverageFinalizeInstr>, org.objectweb.asm.Opcodes
Specialized ASM generator for CoverageFinalizeInstr processing.

Generates bytecode to finalize coverage data collection by calling CoverageRuntime.finaliseCoverage(outputPath) which writes probe data to files for post-execution analysis.

Generated bytecode pattern (2 instructions):

LDC outputPath                              (String constant, e.g., ".ek9")
INVOKESTATIC CoverageRuntime.finaliseCoverage(Ljava/lang/String;)V

This instruction should be emitted at the end of a program's main method to ensure coverage data is persisted before the JVM exits.

  • Constructor Details

    • CoverageFinalizeAsmGenerator

      CoverageFinalizeAsmGenerator(ConstructTargetTuple constructTargetTuple, OutputVisitor outputVisitor, org.objectweb.asm.ClassWriter classWriter)
  • Method Details

    • accept

      public void accept(CoverageFinalizeInstr finalize)
      Generate coverage finalization bytecode.

      Calls CoverageRuntime.finaliseCoverage(outputPath) to write all collected coverage probe data to JSON files in the specified output directory.

      Specified by:
      accept in interface Consumer<CoverageFinalizeInstr>