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.
An isolated class loader and distinct module to encapsulate JaCoCo runtime
classes.
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 methodWriter 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.
Filters default branch generated by compilers for exhaustive switch
expressions.
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.
Display help information on jacoco-maven-plugin.
Call
Call
mvn jacoco:help -Ddetail=true -Dgoal=<goal-name>
to display parameter details.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
InputStream
s.Abstract base class for
ISourceFileLocator
locator implementations
based on InputStream
s.Constants and utilities for byte code instrumentation.
Execution status of a single bytecode instruction internally used for
coverage analysis.
Stateful builder for the
Instruction
s 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
Label
s
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 Instruction
s 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 code that is generated for record patterns.
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.
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 listsFormatter 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
ITableItem
s.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
.
IAgent
instead.