All Classes and Interfaces

Class
Description
Base class for preparing a property pointing to the JaCoCo runtime agent that can be passed as a VM argument to the application under test.
Base class for all coverage tasks that require agent options
Internal base visitor to calculate group counter summaries for hierarchical reports.
Base class for JaCoCo Mojos.
 
Base class for creating a code coverage report for tests of a single project in multiple formats (HTML, XML, and CSV).
Base IRuntime implementation.
The agent manages the life cycle of JaCoCo runtime.
Same as prepare-agent, but provides default values suitable for integration-tests: bound to pre-integration-test phase different destFile
API to access the agent JAR file as a resource.
Prepares a property pointing to the JaCoCo runtime agent that can be passed as a VM argument to the application under test.
Utility to create and parse options for the runtime agent.
Possible values for AgentOptions.OUTPUT.
Ant task that will unpack the coverage agent jar and generate the JVM options required to use it
List of all available commands.
An Analyzer instance processes a set of Java class files and calculates coverage data for them.
Filters classes and methods annotated with runtime visible and invisible annotation whose simple name contains Generated.
Source locator based on Ant file resources.
Source file locator based on Ant resources.
Filters code that is generated for an assert statement.
 
Column with a graphical bar that represents the total amount of items in with length, and the coverage ratio with a red/green sections.
Filters bridge methods.
Internal class to check a list of rules against a IBundleCoverage instance.
Implementation of IBundleCoverage.
Page showing coverage information for a bundle.
Checks that the code coverage metrics are being met.
Analyzes the structure of a class.
Implementation of IClassCoverage.
The strategy for regular classes adds a static field to hold the probe array and a static initialization method requesting the probe array from the runtime.
Internal dumper for class files.
The classinfo command.
Adapter that instruments a class for coverage tracing.
Page showing coverage information for a class as a table of methods.
A ClassVisitor that calculates probes for every method.
A ClassVisitor with additional methods to get probe insertion information for each method
Writer for rows in the CVS report representing the summary data of a single class.
Common interface for all commands.
OptionHandler which uses CommandParser internally to provide help context also for sub-commands.
Internal utility to parse and create command lines arguments.
Parser which remembers the parsed command to have additional context information to produce help output.
Additional data input methods for compact storage of data structures.
Additional data output methods for compact storage of data structures.
This strategy for Java 11+ class files uses ConstantDynamic to hold the probe array and adds bootstrap method requesting the probe array from the runtime.
Internal utility to load runtime configuration from a classpath resource and from system properties.
Detector for content types of binary streams based on a magic headers.
Column that prints the counter values of entities for each item and a summary in the footer.
Collection of comparators to compare ICounter objects by different criteria.
ICounter implementations.
Immutable version of the counter.
Mutable version of the counter.
Builder for hierarchical ICoverageNode structures from single IClassCoverage nodes.
Base implementation for coverage data nodes.
Container task to run Java/JUnit tasks with the JaCoCo agent jar.
The task enhancer is responsible for potentially reconfiguring a task to support running with code coverage enabled
Class file transformer to instrument classes for code coverage analysis.
CRC64 checksum calculator based on the polynom specified in ISO 3309.
Report formatter that will create a single CSV file.
Report visitor that handles coverage information for groups.
Helper class for writing out CSV or tab delimited files.
Locator for source files that picks source files from a given directory in the file system.
The dump command.
Request a dump over TCP/IP from a JaCoCo agent running in tcpserver mode.
Ant task for remotely controlling an application that is running with the tcpserver output mode
Eliminates consecutive stackmap frame definitions which causes ASM to create invalid class files.
An index over all report pages that allows queries according to certain criteria.
Filters empty enum constructors.
 
Filters methods values and valueOf that compiler creates for enums.
A client for remote execution data dumps.
Convenience utility for loading *.exec files into a ExecutionDataStore and a SessionInfoStore.
The execinfo command.
Execution data for a single Java class.
Deserialization of execution data from binary streams.
In-memory data store for execution data.
Serialization of execution data into binary streams.
A file filter using includes/excludes patterns.
Implementation of IMultiReportOutput that writes files directly to a given directory.
Local only agent output that will write coverage data to the filesystem.
Filter that combines other filters.
Filters duplicates of finally blocks that compiler generates.
IFrame implementation which creates snapshots from an AnalyzerAdapter
Page showing coverage information for a node that groups other nodes.
A XMLElement with utility methods to create XHTML documents.
Formatter for coverage reports in multiple HTML pages.
Group visitor for HTML reports.
Runtime API and MBean agent interface.
Common interface for different implementations that outputs execution data dumps.
Coverage data of a bundle.
Coverage data of a single class containing methods.
Renderer for a single column of a coverage table.
A counter holds the missed and the covered number of particular items like classes, methods, branches or instructions.
Different values provided by a counter.
Interface for hierarchical coverage data nodes with different coverage counters.
Different counter types supported by JaCoCo.
Type of a Java element represented by a ICoverageNode instance.
Interface for coverage data output as a stream of IClassCoverage instances.
At several places exception might occur that should be reported.
The instrumented classes need a piece of code that obtains a boolean[] instance from the runtime.
Interface for data output of collected execution data.
Interface for filter implementations.
Context information provided to filters.
Interface used by filters to mark filtered items.
Representation of the current stackmap frame content.
Context and configuration information during creation of a HTML report.
Every report page that should become part of the index must be added via this interface.
Interface to create programming language specific names from VM names.
The instruction and branch coverage of a single source line is described by this interface.
Abstraction for items that can be linked to in a report.
Coverage data of a single method.
Interface to emit multiple binary files.
Signals that execution data in an incompatible version was tried to read.
IRuntime which defines a new class using java.lang.invoke.MethodHandles.Lookup.defineClass introduced in Java 9.
Provides access to classes java.lang.invoke.MethodHandles and java.lang.invoke.MethodHandles.Lookup introduced in Java 8.
Utilities for InputStreams.
Abstract base class for ISourceFileLocator locator implementations based on InputStreams.
Constants and utilities for byte code instrumentation.
Execution status of a single bytecode instruction internally used for coverage analysis.
Stateful builder for the Instructions of a method.
 
The instrument command.
Several APIs to instrument Java class definitions for coverage tracing.
Performs offline instrumentation.
Task for offline instrumentation of class files.
This strategy for Java 8 interfaces adds a static method requesting the probe array from the runtime, a static field to hold the probe array and adds code for its initialization into interface initialization method.
Coverage data of a Java package containing classes and source files.
Strategies to retrieve the probe array instance for each method within a type.
Internal interface to create probe ids unique within a class.
Internal interface for insertion of probes into in the instruction sequence of a method.
Interface for remote commands to a coverage runtime.
Output-Interface for hierarchical report structures.
Interface for all implementations to retrieve structured report data.
This interface represents a particular mechanism to collect execution information in the target VM at runtime.
Interface for data output of collected session information.
Coverage data of a single source file.
Interface to look-up source files that will be included with the report.
Interface for coverage nodes that have individual source lines like methods, classes and source files.
Interface for a item (row) in a coverage data table.
Call-back interface which is used to report rule violations to.
Static Meta information about JaCoCo.
Names for the Java language.
Access to JMX APIs are encapsulated in this class to allow the JaCoCo runtime on platforms without JMX support (e.g Android).
Filters branches that Kotlin compiler generates for coroutines.
 
Filters branches that Kotlin compiler generates for default arguments.
 
Filters methods that Kotlin compiler generates for non-overridden non-abstract methods of interfaces.
 
Filters methods generated by the Kotlin compiler.
Filters out instructions that were inlined by Kotlin compiler.
Filters branch in bytecode that Kotlin compiler generates for reading from lateinit properties.
 
Filters branch in bytecode that Kotlin compiler generates for not-null assertion operator.
 
Filters branch in bytecode that Kotlin compiler generates for "unsafe" cast operator.
 
Filters bytecode that Kotlin compiler generates for when expressions which list all cases of enum or sealed class, i.e.
 
Filters bytecode that Kotlin compiler generates for when expressions with a String.
 
Column for the item label.
Method visitor to collect flow related information about the Labels within a class.
Data container that is attached to Label.info objects to store flow and instrumentation specific information.
Descriptor for a limit which is given by a Rule.
Implementation of ILine.
Immutable version.
Mutable version.
The strategy for interfaces inlines the runtime access directly into the methods as this is the only method without keeping reference within this class.
This IRuntime implementation uses the Java logging API to report coverage data.
Entry point for all command line operations.
The merge command.
Mojo for merging a set of execution data files (*.exec) into a single file
Task for merging a set of execution data files (*.exec) into a single file
A MethodProbesVisitor that builds the Instructions of a method to calculate the detailed execution status.
Calculates the filtered coverage of a single method.
Implementation of IMethodCoverage.
This method adapter inserts probes as requested by the MethodProbesVisitor events.
Table items representing a method.
Adapter that creates additional visitor events for probes to be inserted into a method.
A MethodVisitor with additional methods to get probe insertion information.
This method visitor fixes two potential issues with Java byte code: Remove JSR/RET instructions by inlining subroutines which are deprecated since Java 6.
This IRuntime implementation works with a modified system class.
 
A report visitor that is composed from multiple other visitors.
Locator that searches source files in multiple ISourceFileLocator instances.
Comparator to compare ICoverageNode objects by different counter criteria.
Report page that represents a coverage node.
Output that does nothing.
The strategy does not emit any code at all.
Internal utility to create normalized file names from string ids.
The API for classes instrumented in "offline" mode.
This implementation of IExecutionDataAccessorGenerator generate a direct dependency to the JaCoCo runtime agent to initialize the runtime and obtain probe arrays.
Internal wrapper for the weird Pack200 Java API to allow usage with streams.
 
Implementation of IPackageCoverage.
Page showing coverage information for a Java package.
Page showing coverage information for a Java package.
Column that prints the coverage percentage for each item and the total percentage in the footer.
The agent which is referred as the Premain-Class.
Filters private empty constructors that do not have arguments.
 
Factory to find a suitable strategy to access the probe array for a given class.
Internal class to remember the total number of probes required for a class.
Internal utility to add probes into the control flow of a method.
Filters methods toString, hashCode and equals that compiler generates for records.
 
ExecutionDataReader with commands added for runtime remote control.
ExecutionDataWriter with commands added for runtime remote control.
The report command.
Creates a structured code coverage report (HTML, XML, and CSV) from multiple projects within reactor.
A XMLElement with utility methods to create JaCoCo XML reports.
Configurable output formats for the report goals.
Same as report, but provides default values suitable for integration-tests: bound to report-integration phase different dataFile
Creates a code coverage report for tests of a single project in multiple formats (HTML, XML, and CSV).
Logical representation of a folder in the output structure.
Base class for HTML page generators.
Encapsulates the tasks to create reports for Maven projects.
Task for coverage report generation.
Container element for class file groups.
The source files are specified in a resource collection with additional attributes.
Static resource that are included with the coverage report and might be referenced from created HTML pages.
Restores original classes as they were before offline instrumentation.
Deprecated.
Use IAgent instead.
Entry point to access the JaCoCo agent runtime.
A rule applies for a certain element type and can define any number of limits for all elements of this type.
Wrapper for Rule objects to allow Maven style includes/excludes lists
Formatter which checks a set of given rules and reports violations to a IViolationsOutput instance.
Container for runtime execution and meta data.
Data object describing a session which was the source of execution data.
Container to collect and merge session SessionInfo objects.
Page to display information about sessions covered by this report.
Support class to filter entries from JARs related to signatures.
A index on a list of items sorted with a given Comparator.
Implementation of ISourceFileCoverage.
Table items representing a source file which cannot be linked.
Page showing the content of a source file with numbered and highlighted source lines.
Creates a highlighted output of a source file.
Implementation of ISourceNode.
Utility to normalize String instances in a way that if equals() is true for two strings they will be represented the same instance.
Filters code that is generated by ECJ for a switch statement with a String and by Kotlin compiler 1.5 and above for a when expression with a String.
 
Filters code that is generated by javac for a switch statement with a String.
 
Constants for styles defined by the report style sheet.
Filters code that is generated for synchronized statement.
 
Filters synthetic methods unless they represent bodies of lambda expressions.
This IRuntime implementation makes the execution data available through a special entry in the System.getProperties() hash table.
Renderer for a table of ITableItems.
 
Adapter to sort table items based on their coverage nodes.
Report page that contains a table of items linked to other pages.
Output that connects to a TCP port.
Handler for a single socket based remote connection.
Output that opens TCP server socket.
Filters code that ECJ generates for try-with-resources statement.
 
Filters code which is generated for try-with-resources statement by javac starting from version 11.
Filters code which is generated for try-with-resources statement by javac versions from 7 to 10.
javac from JDK 7 and 8 generates bytecode that is equivalent to the compilation of source code that is described in JLS 14.20.3.
 
The version command.
Matches strings against glob like wildcard expressions where ? matches any single character and * matches any number of any character.
Serializes coverage data as XML fragments.
Internal utility to dump all command descriptions as XML.
Simple API to create well formed XML streams with minimal memory overhead.
Report formatter that creates a single XML file for a coverage session
A IReportGroupVisitor that transforms the report structure into XML elements.
Implementation of IMultiReportOutput that writes files into a ZipOutputStream.